npm-cli-gh-issue-preparator 1.29.1 → 1.30.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.
- package/CHANGELOG.md +18 -0
- package/bin/domain/usecases/StartPreparationUseCase.js +25 -8
- package/bin/domain/usecases/StartPreparationUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/usecases/StartPreparationUseCase.test.ts +119 -24
- package/src/domain/usecases/StartPreparationUseCase.ts +29 -9
- package/types/domain/usecases/StartPreparationUseCase.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
# [1.30.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.29.1...v1.30.0) (2026-05-05)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **core:** distinguish null branchName from non-OPEN PR; skip single PR with null branch; add test ([6081073](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/6081073e1228d021df1de723d5da44ed379203e1))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **core:** always pass --branch to wrapper; skip non-OPEN and ambiguous PR cases ([a7f95b5](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/a7f95b513bdea5ef01a2139828f8a2a428da8dd5))
|
|
12
|
+
|
|
13
|
+
# [Unreleased]
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **core:** always pass --branch to wrapper; skip non-OPEN PRs and ambiguous multi-PR issues; derive i<number> branch for issues with no related open PR
|
|
18
|
+
|
|
1
19
|
## [1.29.1](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.29.0...v1.29.1) (2026-05-05)
|
|
2
20
|
|
|
3
21
|
|
|
@@ -90,25 +90,42 @@ class StartPreparationUseCase {
|
|
|
90
90
|
continue;
|
|
91
91
|
}
|
|
92
92
|
const isPrUrl = issue.url.includes('/pull/');
|
|
93
|
-
let
|
|
93
|
+
let branchName;
|
|
94
94
|
if (isPrUrl) {
|
|
95
95
|
const pr = await this.issueRepository.getOpenPullRequest(issue.url);
|
|
96
|
-
|
|
96
|
+
if (pr === null) {
|
|
97
|
+
console.warn(`Skipping non-OPEN PR ${issue.url}: wrapper requires an open PR.`);
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
if (pr.branchName === null) {
|
|
101
|
+
console.warn(`Skipping PR ${issue.url}: head branch is unavailable.`);
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
branchName = pr.branchName;
|
|
97
105
|
}
|
|
98
106
|
else {
|
|
99
107
|
const relatedPRs = await this.issueRepository.findRelatedOpenPRs(issue.url);
|
|
100
|
-
|
|
101
|
-
relatedPRs.length
|
|
108
|
+
if (relatedPRs.length > 1) {
|
|
109
|
+
console.warn(`Skipping issue ${issue.url}: ${relatedPRs.length} related open PRs found (ambiguous).`);
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
else if (relatedPRs.length === 1) {
|
|
113
|
+
if (relatedPRs[0].branchName === null) {
|
|
114
|
+
console.warn(`Skipping issue ${issue.url}: related open PR has unavailable head branch.`);
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
branchName = relatedPRs[0].branchName;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
branchName = `i${issue.number}`;
|
|
121
|
+
}
|
|
102
122
|
}
|
|
103
123
|
issue.status = params.preparationStatus;
|
|
104
124
|
await this.issueRepository.update(issue, project);
|
|
105
125
|
const logFilePathArg = params.logFilePath
|
|
106
126
|
? `--logFilePath ${params.logFilePath}`
|
|
107
127
|
: null;
|
|
108
|
-
const
|
|
109
|
-
? ` --branch ${existingPRBranchName}`
|
|
110
|
-
: '';
|
|
111
|
-
const command = `aw ${issue.url} ${agent} ${model} ${project.url}${logFilePathArg !== null ? ` ${logFilePathArg}` : ''}${branchArg}`;
|
|
128
|
+
const command = `aw ${issue.url} ${agent} ${model} ${project.url}${logFilePathArg !== null ? ` ${logFilePathArg}` : ''} --branch ${branchName}`;
|
|
112
129
|
await this.localCommandRunner.runCommand(command);
|
|
113
130
|
updatedCurrentPreparationIssueCount++;
|
|
114
131
|
}
|
|
@@ -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
|
@@ -194,7 +194,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
194
194
|
expect(mockIssueRepository.update.mock.calls[0][1]).toBe(mockProject);
|
|
195
195
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
196
196
|
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).toBe(
|
|
197
|
-
`aw url1 impl claude-opus ${mockProject.url}`,
|
|
197
|
+
`aw url1 impl claude-opus ${mockProject.url} --branch i1`,
|
|
198
198
|
);
|
|
199
199
|
});
|
|
200
200
|
it('should pass --branch to aw command when issue has an existing linked PR', async () => {
|
|
@@ -294,7 +294,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
294
294
|
'https://github.com/user/repo/pull/354',
|
|
295
295
|
);
|
|
296
296
|
});
|
|
297
|
-
it('should not
|
|
297
|
+
it('should skip and not call wrapper when PR URL returns null from getOpenPullRequest', async () => {
|
|
298
298
|
const awaitingIssues: Issue[] = [
|
|
299
299
|
createMockIssue({
|
|
300
300
|
url: 'https://github.com/user/repo/pull/999',
|
|
@@ -309,11 +309,56 @@ describe('StartPreparationUseCase', () => {
|
|
|
309
309
|
);
|
|
310
310
|
mockIssueRepository.getAllOpened.mockResolvedValueOnce(awaitingIssues);
|
|
311
311
|
mockIssueRepository.getOpenPullRequest.mockResolvedValue(null);
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
312
|
+
const consoleWarnSpy = jest
|
|
313
|
+
.spyOn(console, 'warn')
|
|
314
|
+
.mockImplementation(() => {});
|
|
315
|
+
await useCase.run({
|
|
316
|
+
projectUrl: 'https://github.com/user/repo',
|
|
317
|
+
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
318
|
+
preparationStatus: 'Preparation',
|
|
319
|
+
defaultAgentName: 'agent1',
|
|
320
|
+
defaultLlmModelName: 'claude-opus',
|
|
321
|
+
defaultLlmAgentName: null,
|
|
322
|
+
logFilePath: null,
|
|
323
|
+
maximumPreparingIssuesCount: null,
|
|
324
|
+
utilizationPercentageThreshold: 90,
|
|
325
|
+
allowedIssueAuthors: null,
|
|
316
326
|
});
|
|
327
|
+
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(0);
|
|
328
|
+
expect(mockIssueRepository.update.mock.calls).toHaveLength(0);
|
|
329
|
+
expect(mockIssueRepository.findRelatedOpenPRs).not.toHaveBeenCalled();
|
|
330
|
+
expect(consoleWarnSpy).toHaveBeenCalledWith(
|
|
331
|
+
'Skipping non-OPEN PR https://github.com/user/repo/pull/999: wrapper requires an open PR.',
|
|
332
|
+
);
|
|
333
|
+
consoleWarnSpy.mockRestore();
|
|
334
|
+
});
|
|
335
|
+
it('should skip and not call wrapper when PR URL has open PR with null branchName', async () => {
|
|
336
|
+
const awaitingIssues: Issue[] = [
|
|
337
|
+
createMockIssue({
|
|
338
|
+
url: 'https://github.com/user/repo/pull/999',
|
|
339
|
+
title: 'PR 999',
|
|
340
|
+
labels: ['category:impl'],
|
|
341
|
+
status: 'Awaiting Workspace',
|
|
342
|
+
}),
|
|
343
|
+
];
|
|
344
|
+
mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
|
|
345
|
+
mockIssueRepository.getStoryObjectMap.mockResolvedValue(
|
|
346
|
+
createMockStoryObjectMap(awaitingIssues),
|
|
347
|
+
);
|
|
348
|
+
mockIssueRepository.getAllOpened.mockResolvedValueOnce(awaitingIssues);
|
|
349
|
+
mockIssueRepository.getOpenPullRequest.mockResolvedValue({
|
|
350
|
+
url: 'https://github.com/user/repo/pull/999',
|
|
351
|
+
branchName: null,
|
|
352
|
+
isConflicted: false,
|
|
353
|
+
isPassedAllCiJob: false,
|
|
354
|
+
isCiStateSuccess: false,
|
|
355
|
+
isResolvedAllReviewComments: false,
|
|
356
|
+
isBranchOutOfDate: false,
|
|
357
|
+
missingRequiredCheckNames: [],
|
|
358
|
+
});
|
|
359
|
+
const consoleWarnSpy = jest
|
|
360
|
+
.spyOn(console, 'warn')
|
|
361
|
+
.mockImplementation(() => {});
|
|
317
362
|
await useCase.run({
|
|
318
363
|
projectUrl: 'https://github.com/user/repo',
|
|
319
364
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
@@ -326,13 +371,14 @@ describe('StartPreparationUseCase', () => {
|
|
|
326
371
|
utilizationPercentageThreshold: 90,
|
|
327
372
|
allowedIssueAuthors: null,
|
|
328
373
|
});
|
|
329
|
-
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(
|
|
330
|
-
expect(
|
|
331
|
-
|
|
374
|
+
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(0);
|
|
375
|
+
expect(mockIssueRepository.update.mock.calls).toHaveLength(0);
|
|
376
|
+
expect(consoleWarnSpy).toHaveBeenCalledWith(
|
|
377
|
+
'Skipping PR https://github.com/user/repo/pull/999: head branch is unavailable.',
|
|
332
378
|
);
|
|
333
|
-
|
|
379
|
+
consoleWarnSpy.mockRestore();
|
|
334
380
|
});
|
|
335
|
-
it('should not
|
|
381
|
+
it('should skip and not call wrapper when issue has multiple related open PRs', async () => {
|
|
336
382
|
const awaitingIssues: Issue[] = [
|
|
337
383
|
createMockIssue({
|
|
338
384
|
url: 'url1',
|
|
@@ -367,11 +413,58 @@ describe('StartPreparationUseCase', () => {
|
|
|
367
413
|
);
|
|
368
414
|
mockIssueRepository.getAllOpened.mockResolvedValueOnce(awaitingIssues);
|
|
369
415
|
mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([pr1, pr2]);
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
416
|
+
const consoleWarnSpy = jest
|
|
417
|
+
.spyOn(console, 'warn')
|
|
418
|
+
.mockImplementation(() => {});
|
|
419
|
+
await useCase.run({
|
|
420
|
+
projectUrl: 'https://github.com/user/repo',
|
|
421
|
+
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
422
|
+
preparationStatus: 'Preparation',
|
|
423
|
+
defaultAgentName: 'agent1',
|
|
424
|
+
defaultLlmModelName: 'claude-opus',
|
|
425
|
+
defaultLlmAgentName: null,
|
|
426
|
+
logFilePath: null,
|
|
427
|
+
maximumPreparingIssuesCount: null,
|
|
428
|
+
utilizationPercentageThreshold: 90,
|
|
429
|
+
allowedIssueAuthors: null,
|
|
374
430
|
});
|
|
431
|
+
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(0);
|
|
432
|
+
expect(mockIssueRepository.update.mock.calls).toHaveLength(0);
|
|
433
|
+
expect(consoleWarnSpy).toHaveBeenCalledWith(
|
|
434
|
+
'Skipping issue url1: 2 related open PRs found (ambiguous).',
|
|
435
|
+
);
|
|
436
|
+
consoleWarnSpy.mockRestore();
|
|
437
|
+
});
|
|
438
|
+
it('should skip and not call wrapper when issue has one related open PR with null branchName', async () => {
|
|
439
|
+
const awaitingIssues: Issue[] = [
|
|
440
|
+
createMockIssue({
|
|
441
|
+
url: 'url1',
|
|
442
|
+
title: 'Issue 1',
|
|
443
|
+
labels: ['category:impl'],
|
|
444
|
+
status: 'Awaiting Workspace',
|
|
445
|
+
}),
|
|
446
|
+
];
|
|
447
|
+
const prWithNullBranch: RelatedPullRequest = {
|
|
448
|
+
url: 'https://github.com/user/repo/pull/42',
|
|
449
|
+
branchName: null,
|
|
450
|
+
isConflicted: false,
|
|
451
|
+
isPassedAllCiJob: false,
|
|
452
|
+
isCiStateSuccess: false,
|
|
453
|
+
isResolvedAllReviewComments: false,
|
|
454
|
+
isBranchOutOfDate: false,
|
|
455
|
+
missingRequiredCheckNames: [],
|
|
456
|
+
};
|
|
457
|
+
mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
|
|
458
|
+
mockIssueRepository.getStoryObjectMap.mockResolvedValue(
|
|
459
|
+
createMockStoryObjectMap(awaitingIssues),
|
|
460
|
+
);
|
|
461
|
+
mockIssueRepository.getAllOpened.mockResolvedValueOnce(awaitingIssues);
|
|
462
|
+
mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
|
|
463
|
+
prWithNullBranch,
|
|
464
|
+
]);
|
|
465
|
+
const consoleWarnSpy = jest
|
|
466
|
+
.spyOn(console, 'warn')
|
|
467
|
+
.mockImplementation(() => {});
|
|
375
468
|
await useCase.run({
|
|
376
469
|
projectUrl: 'https://github.com/user/repo',
|
|
377
470
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
@@ -384,10 +477,12 @@ describe('StartPreparationUseCase', () => {
|
|
|
384
477
|
utilizationPercentageThreshold: 90,
|
|
385
478
|
allowedIssueAuthors: null,
|
|
386
479
|
});
|
|
387
|
-
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(
|
|
388
|
-
expect(
|
|
389
|
-
|
|
480
|
+
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(0);
|
|
481
|
+
expect(mockIssueRepository.update.mock.calls).toHaveLength(0);
|
|
482
|
+
expect(consoleWarnSpy).toHaveBeenCalledWith(
|
|
483
|
+
'Skipping issue url1: related open PR has unavailable head branch.',
|
|
390
484
|
);
|
|
485
|
+
consoleWarnSpy.mockRestore();
|
|
391
486
|
});
|
|
392
487
|
it('should assign workspace to awaiting issues', async () => {
|
|
393
488
|
const awaitingIssues: Issue[] = [
|
|
@@ -520,7 +615,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
520
615
|
});
|
|
521
616
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
522
617
|
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).toBe(
|
|
523
|
-
`aw url1 impl claude-opus ${mockProject.url} --logFilePath /path/to/log.txt`,
|
|
618
|
+
`aw url1 impl claude-opus ${mockProject.url} --logFilePath /path/to/log.txt --branch i1`,
|
|
524
619
|
);
|
|
525
620
|
});
|
|
526
621
|
it('should not append logFilePath to aw command when not provided', async () => {
|
|
@@ -556,7 +651,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
556
651
|
});
|
|
557
652
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
558
653
|
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).toBe(
|
|
559
|
-
`aw url1 impl claude-opus ${mockProject.url}`,
|
|
654
|
+
`aw url1 impl claude-opus ${mockProject.url} --branch i1`,
|
|
560
655
|
);
|
|
561
656
|
});
|
|
562
657
|
it('should use llm-agent label over category label and defaultLlmAgentName', async () => {
|
|
@@ -592,7 +687,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
592
687
|
});
|
|
593
688
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
594
689
|
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).toBe(
|
|
595
|
-
`aw url1 research claude-sonnet-4-6 ${mockProject.url}`,
|
|
690
|
+
`aw url1 research claude-sonnet-4-6 ${mockProject.url} --branch i1`,
|
|
596
691
|
);
|
|
597
692
|
});
|
|
598
693
|
it('should use category label over defaultLlmAgentName when no llm-agent label', async () => {
|
|
@@ -628,7 +723,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
628
723
|
});
|
|
629
724
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
630
725
|
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).toBe(
|
|
631
|
-
`aw url1 impl claude-sonnet-4-6 ${mockProject.url}`,
|
|
726
|
+
`aw url1 impl claude-sonnet-4-6 ${mockProject.url} --branch i1`,
|
|
632
727
|
);
|
|
633
728
|
});
|
|
634
729
|
it('should use defaultLlmAgentName over defaultAgentName when no label', async () => {
|
|
@@ -664,7 +759,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
664
759
|
});
|
|
665
760
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
666
761
|
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).toBe(
|
|
667
|
-
`aw url1 default-llm-agent claude-sonnet-4-6 ${mockProject.url}`,
|
|
762
|
+
`aw url1 default-llm-agent claude-sonnet-4-6 ${mockProject.url} --branch i1`,
|
|
668
763
|
);
|
|
669
764
|
});
|
|
670
765
|
it('should use llm-model label over defaultLlmModelName', async () => {
|
|
@@ -700,7 +795,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
700
795
|
});
|
|
701
796
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
702
797
|
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).toBe(
|
|
703
|
-
`aw url1 impl claude-sonnet ${mockProject.url}`,
|
|
798
|
+
`aw url1 impl claude-sonnet ${mockProject.url} --branch i1`,
|
|
704
799
|
);
|
|
705
800
|
});
|
|
706
801
|
it('should log error and skip issue when no llm-model label and no defaultLlmModelName', async () => {
|
|
@@ -172,16 +172,40 @@ export class StartPreparationUseCase {
|
|
|
172
172
|
continue;
|
|
173
173
|
}
|
|
174
174
|
const isPrUrl = issue.url.includes('/pull/');
|
|
175
|
-
let
|
|
175
|
+
let branchName: string;
|
|
176
176
|
if (isPrUrl) {
|
|
177
177
|
const pr = await this.issueRepository.getOpenPullRequest(issue.url);
|
|
178
|
-
|
|
178
|
+
if (pr === null) {
|
|
179
|
+
console.warn(
|
|
180
|
+
`Skipping non-OPEN PR ${issue.url}: wrapper requires an open PR.`,
|
|
181
|
+
);
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
if (pr.branchName === null) {
|
|
185
|
+
console.warn(`Skipping PR ${issue.url}: head branch is unavailable.`);
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
branchName = pr.branchName;
|
|
179
189
|
} else {
|
|
180
190
|
const relatedPRs = await this.issueRepository.findRelatedOpenPRs(
|
|
181
191
|
issue.url,
|
|
182
192
|
);
|
|
183
|
-
|
|
184
|
-
|
|
193
|
+
if (relatedPRs.length > 1) {
|
|
194
|
+
console.warn(
|
|
195
|
+
`Skipping issue ${issue.url}: ${relatedPRs.length} related open PRs found (ambiguous).`,
|
|
196
|
+
);
|
|
197
|
+
continue;
|
|
198
|
+
} else if (relatedPRs.length === 1) {
|
|
199
|
+
if (relatedPRs[0].branchName === null) {
|
|
200
|
+
console.warn(
|
|
201
|
+
`Skipping issue ${issue.url}: related open PR has unavailable head branch.`,
|
|
202
|
+
);
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
branchName = relatedPRs[0].branchName;
|
|
206
|
+
} else {
|
|
207
|
+
branchName = `i${issue.number}`;
|
|
208
|
+
}
|
|
185
209
|
}
|
|
186
210
|
|
|
187
211
|
issue.status = params.preparationStatus;
|
|
@@ -190,11 +214,7 @@ export class StartPreparationUseCase {
|
|
|
190
214
|
const logFilePathArg = params.logFilePath
|
|
191
215
|
? `--logFilePath ${params.logFilePath}`
|
|
192
216
|
: null;
|
|
193
|
-
const
|
|
194
|
-
existingPRBranchName !== null
|
|
195
|
-
? ` --branch ${existingPRBranchName}`
|
|
196
|
-
: '';
|
|
197
|
-
const command = `aw ${issue.url} ${agent} ${model} ${project.url}${logFilePathArg !== null ? ` ${logFilePathArg}` : ''}${branchArg}`;
|
|
217
|
+
const command = `aw ${issue.url} ${agent} ${model} ${project.url}${logFilePathArg !== null ? ` ${logFilePathArg}` : ''} --branch ${branchName}`;
|
|
198
218
|
await this.localCommandRunner.runCommand(command);
|
|
199
219
|
updatedCurrentPreparationIssueCount++;
|
|
200
220
|
}
|
|
@@ -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,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAQhC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAblB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,UAAU,GAAG,eAAe,CAC7B,EACgB,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,cAAc,GACd,mBAAmB,GACnB,QAAQ,GACR,oBAAoB,GACpB,oBAAoB,CACvB,EACgB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EACpD,kBAAkB,EAAE,kBAAkB;IAGzD,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,uBAAuB,EAAE,MAAM,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,8BAA8B,EAAE,MAAM,CAAC;QACvC,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KACtC,KAAG,OAAO,CAAC,IAAI,CAAC,
|
|
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,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAQhC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAblB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,UAAU,GAAG,eAAe,CAC7B,EACgB,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,cAAc,GACd,mBAAmB,GACnB,QAAQ,GACR,oBAAoB,GACpB,oBAAoB,CACvB,EACgB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EACpD,kBAAkB,EAAE,kBAAkB;IAGzD,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,uBAAuB,EAAE,MAAM,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,8BAA8B,EAAE,MAAM,CAAC;QACvC,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KACtC,KAAG,OAAO,CAAC,IAAI,CAAC,CA0Lf;CACH"}
|