npm-cli-gh-issue-preparator 1.28.0 → 1.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/api-created_issue_pr.yml +82 -0
- package/.github/workflows/umino-project.yml +45 -16
- package/CHANGELOG.md +26 -0
- package/README.md +3 -1
- package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js +7 -1
- package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js.map +1 -1
- package/bin/domain/usecases/StartPreparationUseCase.js +5 -3
- package/bin/domain/usecases/StartPreparationUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.test.ts +60 -0
- package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts +8 -1
- package/src/domain/usecases/StartPreparationUseCase.test.ts +83 -28
- package/src/domain/usecases/StartPreparationUseCase.ts +7 -3
- package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts.map +1 -1
- package/types/domain/usecases/StartPreparationUseCase.d.ts.map +1 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
name: Add to Project
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
issue_or_pr_url:
|
|
7
|
+
description: 'Issue or PR URL (https://github.com/<owner>/<repo>/issues/<number> or .../pull/<number>)'
|
|
8
|
+
required: true
|
|
9
|
+
default: ''
|
|
10
|
+
|
|
11
|
+
env:
|
|
12
|
+
PROJECT_V2_ID: PVT_kwHOAGJHa84AFWnr
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
add-to-project:
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
steps:
|
|
18
|
+
- name: Add to Project
|
|
19
|
+
env:
|
|
20
|
+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
|
21
|
+
run: |
|
|
22
|
+
ISSUE_OR_PR_URL="${{ github.event.inputs.issue_or_pr_url }}"
|
|
23
|
+
ISSUE_OR_PR_URL="${ISSUE_OR_PR_URL%%\?*}"
|
|
24
|
+
ISSUE_OR_PR_URL="${ISSUE_OR_PR_URL%/}"
|
|
25
|
+
|
|
26
|
+
if ! echo "$ISSUE_OR_PR_URL" | grep -qE '^https://github\.com/[^/]+/[^/]+/(issues|pull)/[0-9]+$'; then
|
|
27
|
+
echo "Invalid URL format. Expected: https://github.com/<owner>/<repo>/issues/<number> or .../pull/<number>"
|
|
28
|
+
echo "Got: $ISSUE_OR_PR_URL"
|
|
29
|
+
exit 1
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
REPO_PATH=$(echo "$ISSUE_OR_PR_URL" | awk -F'/' '{print $4"/"$5}')
|
|
33
|
+
NUMBER=$(echo "$ISSUE_OR_PR_URL" | grep -oE '[0-9]+$')
|
|
34
|
+
|
|
35
|
+
if echo "$ISSUE_OR_PR_URL" | grep -q "/pull/"; then
|
|
36
|
+
RESOURCE_TYPE="pulls"
|
|
37
|
+
else
|
|
38
|
+
RESOURCE_TYPE="issues"
|
|
39
|
+
fi
|
|
40
|
+
|
|
41
|
+
REST_RESPONSE=$(curl -s -w "\n%{http_code}" -H "Authorization: token $GH_TOKEN" \
|
|
42
|
+
"https://api.github.com/repos/$REPO_PATH/$RESOURCE_TYPE/$NUMBER")
|
|
43
|
+
HTTP_STATUS=$(echo "$REST_RESPONSE" | tail -n1)
|
|
44
|
+
REST_BODY=$(echo "$REST_RESPONSE" | sed '$d')
|
|
45
|
+
|
|
46
|
+
if [ "$HTTP_STATUS" != "200" ]; then
|
|
47
|
+
echo "REST API returned HTTP $HTTP_STATUS"
|
|
48
|
+
echo "$REST_BODY"
|
|
49
|
+
exit 1
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
NODE_ID=$(echo "$REST_BODY" | jq -r '.node_id')
|
|
53
|
+
|
|
54
|
+
if [ -z "$NODE_ID" ] || [ "$NODE_ID" = "null" ]; then
|
|
55
|
+
echo "Failed to get node ID. REST response:"
|
|
56
|
+
echo "$REST_BODY"
|
|
57
|
+
exit 1
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
echo "Node ID: $NODE_ID"
|
|
61
|
+
|
|
62
|
+
GRAPHQL_PAYLOAD=$(jq -n \
|
|
63
|
+
--arg nodeId "$NODE_ID" \
|
|
64
|
+
--arg projectId "$PROJECT_V2_ID" \
|
|
65
|
+
'{"query": "mutation($contentId: ID!, $projectId: ID!) { addProjectV2ItemById(input: { contentId: $contentId, projectId: $projectId }) { item { id } } }", "variables": {"contentId": $nodeId, "projectId": $projectId}}')
|
|
66
|
+
|
|
67
|
+
RESPONSE=$(curl -s -X POST \
|
|
68
|
+
-H "Authorization: bearer $GH_TOKEN" \
|
|
69
|
+
-H "Content-Type: application/json" \
|
|
70
|
+
https://api.github.com/graphql \
|
|
71
|
+
-d "$GRAPHQL_PAYLOAD")
|
|
72
|
+
echo "$RESPONSE"
|
|
73
|
+
|
|
74
|
+
if ! echo "$RESPONSE" | jq '.' > /dev/null 2>&1; then
|
|
75
|
+
echo "Non-JSON response received"
|
|
76
|
+
exit 1
|
|
77
|
+
fi
|
|
78
|
+
|
|
79
|
+
if echo "$RESPONSE" | jq -e '.errors' > /dev/null; then
|
|
80
|
+
echo "GraphQL error occurred"
|
|
81
|
+
exit 1
|
|
82
|
+
fi
|
|
@@ -108,7 +108,9 @@ jobs:
|
|
|
108
108
|
github-token: ${{secrets.GH_TOKEN}}
|
|
109
109
|
script: |
|
|
110
110
|
const commentBody = context.payload.comment.body;
|
|
111
|
-
const
|
|
111
|
+
const commandMatch = /(^|\n)\s*\/createissue\b/m.exec(commentBody);
|
|
112
|
+
if (!commandMatch) return;
|
|
113
|
+
const createIssueIndex = commentBody.indexOf('/createissue', commandMatch.index);
|
|
112
114
|
const issueTitle = commentBody.slice(createIssueIndex + 12).split('\n')[0].trim();
|
|
113
115
|
const issueNumber = context.issue.number;
|
|
114
116
|
const commentId = context.payload.comment.id;
|
|
@@ -116,7 +118,7 @@ jobs:
|
|
|
116
118
|
const issueBody = `
|
|
117
119
|
${commentBody.slice(createIssueIndex + 12).trim()}
|
|
118
120
|
Created from a comment: ${commentLink}
|
|
119
|
-
`;
|
|
121
|
+
`;
|
|
120
122
|
const newIssue = await github.rest.issues.create({
|
|
121
123
|
owner: context.repo.owner,
|
|
122
124
|
repo: context.repo.repo,
|
|
@@ -130,6 +132,8 @@ jobs:
|
|
|
130
132
|
with:
|
|
131
133
|
github-token: ${{secrets.GH_TOKEN}}
|
|
132
134
|
script: |
|
|
135
|
+
const body = context.payload.comment.body;
|
|
136
|
+
if (!/(^|\n)\s*\/(close|done)\b/m.test(body)) return;
|
|
133
137
|
await github.rest.issues.update({
|
|
134
138
|
owner: context.repo.owner,
|
|
135
139
|
repo: context.repo.repo,
|
|
@@ -138,18 +142,42 @@ jobs:
|
|
|
138
142
|
});
|
|
139
143
|
- name: Update Date Field
|
|
140
144
|
if: ${{ github.event_name == 'issue_comment' && github.event.action == 'created' && contains(github.event.comment.body, '/movenextactiondateto') }}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
145
|
+
uses: actions/github-script@v9
|
|
146
|
+
env:
|
|
147
|
+
PROJECT_V2_ID: ${{ env.project_v2_id }}
|
|
148
|
+
FIELD_ID: ${{ env.field_id }}
|
|
149
|
+
with:
|
|
150
|
+
github-token: ${{ secrets.GH_TOKEN }}
|
|
151
|
+
script: |
|
|
152
|
+
const commentBody = context.payload.comment.body;
|
|
153
|
+
const commandMatch = /(^|\n)\s*\/movenextactiondateto\b/m.exec(commentBody);
|
|
154
|
+
if (!commandMatch) return;
|
|
155
|
+
const dateMatch = /\/movenextactiondateto\s+(\d{8})/.exec(commentBody.slice(commandMatch.index));
|
|
156
|
+
if (!dateMatch) return;
|
|
157
|
+
const dateString = dateMatch[1];
|
|
158
|
+
const projectId = process.env.PROJECT_V2_ID;
|
|
159
|
+
const fieldId = process.env.FIELD_ID;
|
|
160
|
+
const itemIdResult = await github.graphql(
|
|
161
|
+
`query($owner: String!, $repo: String!, $number: Int!) {
|
|
162
|
+
repository(owner: $owner, name: $repo) {
|
|
163
|
+
issue(number: $number) {
|
|
164
|
+
projectItems(first: 10) { nodes { id } }
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}`,
|
|
168
|
+
{ owner: context.repo.owner, repo: context.repo.repo, number: context.issue.number }
|
|
169
|
+
);
|
|
170
|
+
const itemId = itemIdResult.repository.issue.projectItems.nodes[0]?.id;
|
|
171
|
+
if (!itemId) { core.setFailed('No project item found for this issue'); return; }
|
|
172
|
+
await github.graphql(
|
|
173
|
+
`mutation($projectId: ID!, $fieldId: ID!, $itemId: ID!, $date: Date!) {
|
|
174
|
+
updateProjectV2ItemFieldValue(input: {
|
|
175
|
+
projectId: $projectId, fieldId: $fieldId, itemId: $itemId,
|
|
176
|
+
value: { date: $date }
|
|
177
|
+
}) { clientMutationId }
|
|
178
|
+
}`,
|
|
179
|
+
{ projectId, fieldId, itemId, date: dateString }
|
|
180
|
+
);
|
|
153
181
|
- name: Change Assignee
|
|
154
182
|
if: ${{ github.event_name == 'issue_comment' && github.event.action == 'created' && contains(github.event.comment.body, '/changeassignee ') }}
|
|
155
183
|
uses: actions/github-script@v9
|
|
@@ -157,8 +185,9 @@ jobs:
|
|
|
157
185
|
github-token: ${{secrets.GH_TOKEN}}
|
|
158
186
|
script: |
|
|
159
187
|
const commentBody = context.payload.comment.body;
|
|
160
|
-
const
|
|
161
|
-
|
|
188
|
+
const commandMatch = /(^|\n)\s*\/changeassignee\s+(\S+)/m.exec(commentBody);
|
|
189
|
+
if (!commandMatch) return;
|
|
190
|
+
const assigneeName = commandMatch[2].trim();
|
|
162
191
|
await github.rest.issues.update({
|
|
163
192
|
owner: context.repo.owner,
|
|
164
193
|
repo: context.repo.repo,
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
## [1.29.1](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.29.0...v1.29.1) (2026-05-05)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **core:** call setPrNextActionDate in approved escalation path and strengthen test ([6ffcdce](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/6ffcdcec4216a593e8a7718a6a5d0d839d730dbb))
|
|
7
|
+
* **core:** use distinct wording when APPROVED status triggers escalation threshold ([56b89c2](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/56b89c21992e0e3617c2f40f41586cc12655eca4)), closes [#283](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/issues/283)
|
|
8
|
+
|
|
9
|
+
# [1.29.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.28.0...v1.29.0) (2026-05-05)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **core:** log error and skip issue instead of throwing when model is missing ([d01fd52](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/d01fd52a96cf6e1c7915d6e2af90e6f6e511444e))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* **core:** remove hardcoded LLM model default; require explicit config or label ([776b2b8](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/776b2b8393af72a05a30273c548870e406b22296))
|
|
20
|
+
|
|
21
|
+
# [Unreleased]
|
|
22
|
+
|
|
23
|
+
### Breaking Changes
|
|
24
|
+
|
|
25
|
+
* **core:** remove hardcoded default LLM model; `defaultLlmModelName` or an `llm-model:` label is now required — omitting both logs an error and skips the issue instead of silently using the old `claude-sonnet-4.6` literal (use CLI-executable forms such as `claude-sonnet-4-6` or alias `sonnet`)
|
|
26
|
+
|
|
1
27
|
# [1.28.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.27.0...v1.28.0) (2026-05-03)
|
|
2
28
|
|
|
3
29
|
|
package/README.md
CHANGED
|
@@ -62,7 +62,7 @@ You can use GitHub issue labels to customize the agent and model selection for i
|
|
|
62
62
|
- `llm-agent:{agent-name}` - Overrides the default LLM agent for this issue
|
|
63
63
|
- `llm-model:{model-name}` - Overrides the default LLM model for this issue
|
|
64
64
|
|
|
65
|
-
Example: `llm-agent:custom-impl`, `llm-model:claude-sonnet`
|
|
65
|
+
Example: `llm-agent:custom-impl`, `llm-model:claude-sonnet-4-6`
|
|
66
66
|
|
|
67
67
|
**Label priority for agent selection:**
|
|
68
68
|
|
|
@@ -76,6 +76,8 @@ Example: `llm-agent:custom-impl`, `llm-model:claude-sonnet`
|
|
|
76
76
|
1. `llm-model:` label (highest priority)
|
|
77
77
|
2. `defaultLlmModelName` parameter (lowest priority)
|
|
78
78
|
|
|
79
|
+
If neither is configured for an issue, the use case throws an error. A model must always be provided via `--defaultLlmModelName` or an `llm-model:` label.
|
|
80
|
+
|
|
79
81
|
**Note:** The `category:` label serves an additional role beyond agent selection: in `notifyFinishedIssuePreparation`, issues with a non-e2e `category:` label skip the PR check. Issues using only `llm-agent:` for agent selection still require a `category:` label (other than `category:e2e`) to skip the PR check during notification.
|
|
80
82
|
|
|
81
83
|
## Example 📖
|
|
@@ -72,7 +72,13 @@ class NotifyFinishedIssuePreparationUseCase {
|
|
|
72
72
|
.includes('failed to pass the check automatically'))) {
|
|
73
73
|
issue.status = params.awaitingQualityCheckStatus;
|
|
74
74
|
await this.issueRepository.update(issue, project);
|
|
75
|
-
|
|
75
|
+
const escalationStatusLine = rejections.length > 0
|
|
76
|
+
? rejectionStatusMessage
|
|
77
|
+
: 'Auto Status Check: APPROVED (escalated due to prior failures)';
|
|
78
|
+
if (rejections.length === 0 && approvedPrUrl !== null) {
|
|
79
|
+
await this.setPrNextActionDate(approvedPrUrl, project);
|
|
80
|
+
}
|
|
81
|
+
await this.issueCommentRepository.createComment(issue, `${escalationStatusLine}\n\nFailed to pass the check automatically for ${params.thresholdForAutoReject} times`);
|
|
76
82
|
await this.sendWorkflowBlockerNotification(params.issueUrl, params.workflowBlockerResolvedWebhookUrl, project);
|
|
77
83
|
return;
|
|
78
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotifyFinishedIssuePreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NotifyFinishedIssuePreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,9 +84,11 @@ class StartPreparationUseCase {
|
|
|
84
84
|
const model = issue.labels
|
|
85
85
|
.find((label) => label.startsWith('llm-model:'))
|
|
86
86
|
?.replace('llm-model:', '')
|
|
87
|
-
.trim() ||
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
.trim() || params.defaultLlmModelName;
|
|
88
|
+
if (!model) {
|
|
89
|
+
console.error(`No LLM model configured for issue ${issue.url}. Provide --defaultLlmModelName or add an llm-model: label.`);
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
90
92
|
const isPrUrl = issue.url.includes('/pull/');
|
|
91
93
|
let existingPRBranchName = null;
|
|
92
94
|
if (isPrUrl) {
|
|
@@ -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
|
@@ -521,6 +521,66 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
|
|
|
521
521
|
);
|
|
522
522
|
});
|
|
523
523
|
|
|
524
|
+
it('should use APPROVED escalation wording and set PR next action date when current check passes but threshold is met', async () => {
|
|
525
|
+
const fakeNow = new Date('2024-06-15T00:00:00.000Z');
|
|
526
|
+
jest.useFakeTimers();
|
|
527
|
+
jest.setSystemTime(fakeNow);
|
|
528
|
+
|
|
529
|
+
const issue = createMockIssue({
|
|
530
|
+
url: 'https://github.com/user/repo/issues/1',
|
|
531
|
+
status: 'Preparation',
|
|
532
|
+
});
|
|
533
|
+
|
|
534
|
+
mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
|
|
535
|
+
mockIssueRepository.get.mockResolvedValue(issue);
|
|
536
|
+
mockIssueCommentRepository.getCommentsFromIssue.mockResolvedValue([
|
|
537
|
+
createMockComment({ content: 'Auto Status Check: REJECTED - first' }),
|
|
538
|
+
createMockComment({ content: 'Auto Status Check: REJECTED - second' }),
|
|
539
|
+
createMockComment({ content: 'Auto Status Check: REJECTED - third' }),
|
|
540
|
+
createMockComment({ content: 'From: :robot: Agent report - all done' }),
|
|
541
|
+
]);
|
|
542
|
+
mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
|
|
543
|
+
{
|
|
544
|
+
url: 'https://github.com/user/repo/pull/1',
|
|
545
|
+
branchName: null,
|
|
546
|
+
isConflicted: false,
|
|
547
|
+
isPassedAllCiJob: true,
|
|
548
|
+
isCiStateSuccess: true,
|
|
549
|
+
isResolvedAllReviewComments: true,
|
|
550
|
+
isBranchOutOfDate: false,
|
|
551
|
+
missingRequiredCheckNames: [],
|
|
552
|
+
},
|
|
553
|
+
]);
|
|
554
|
+
|
|
555
|
+
await useCase.run({
|
|
556
|
+
projectUrl: 'https://github.com/users/user/projects/1',
|
|
557
|
+
issueUrl: 'https://github.com/user/repo/issues/1',
|
|
558
|
+
preparationStatus: 'Preparation',
|
|
559
|
+
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
560
|
+
awaitingQualityCheckStatus: 'Awaiting Quality Check',
|
|
561
|
+
thresholdForAutoReject: 3,
|
|
562
|
+
workflowBlockerResolvedWebhookUrl: null,
|
|
563
|
+
});
|
|
564
|
+
|
|
565
|
+
jest.useRealTimers();
|
|
566
|
+
|
|
567
|
+
const expectedDate = new Date('2024-06-15T00:00:00.000Z');
|
|
568
|
+
expectedDate.setMonth(expectedDate.getMonth() + 1);
|
|
569
|
+
|
|
570
|
+
const createCommentCall =
|
|
571
|
+
mockIssueCommentRepository.createComment.mock.calls[0];
|
|
572
|
+
expect(createCommentCall[1]).toContain(
|
|
573
|
+
'Auto Status Check: APPROVED (escalated due to prior failures)',
|
|
574
|
+
);
|
|
575
|
+
expect(createCommentCall[1]).not.toContain('Auto Status Check: APPROVED\n');
|
|
576
|
+
expect(mockIssueRepository.updateNextActionDate).toHaveBeenCalledTimes(1);
|
|
577
|
+
expect(mockIssueRepository.updateNextActionDate).toHaveBeenCalledWith(
|
|
578
|
+
'https://github.com/user/repo/pull/1',
|
|
579
|
+
mockProject,
|
|
580
|
+
expectedDate,
|
|
581
|
+
);
|
|
582
|
+
});
|
|
583
|
+
|
|
524
584
|
it('should not auto-escalate when rejections are below threshold', async () => {
|
|
525
585
|
const issue = createMockIssue({
|
|
526
586
|
url: 'https://github.com/user/repo/issues/1',
|
|
@@ -163,9 +163,16 @@ export class NotifyFinishedIssuePreparationUseCase {
|
|
|
163
163
|
) {
|
|
164
164
|
issue.status = params.awaitingQualityCheckStatus;
|
|
165
165
|
await this.issueRepository.update(issue, project);
|
|
166
|
+
const escalationStatusLine =
|
|
167
|
+
rejections.length > 0
|
|
168
|
+
? rejectionStatusMessage
|
|
169
|
+
: 'Auto Status Check: APPROVED (escalated due to prior failures)';
|
|
170
|
+
if (rejections.length === 0 && approvedPrUrl !== null) {
|
|
171
|
+
await this.setPrNextActionDate(approvedPrUrl, project);
|
|
172
|
+
}
|
|
166
173
|
await this.issueCommentRepository.createComment(
|
|
167
174
|
issue,
|
|
168
|
-
`${
|
|
175
|
+
`${escalationStatusLine}\n\nFailed to pass the check automatically for ${params.thresholdForAutoReject} times`,
|
|
169
176
|
);
|
|
170
177
|
await this.sendWorkflowBlockerNotification(
|
|
171
178
|
params.issueUrl,
|
|
@@ -419,7 +419,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
419
419
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
420
420
|
preparationStatus: 'Preparation',
|
|
421
421
|
defaultAgentName: 'agent1',
|
|
422
|
-
defaultLlmModelName:
|
|
422
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
423
423
|
defaultLlmAgentName: null,
|
|
424
424
|
logFilePath: null,
|
|
425
425
|
maximumPreparingIssuesCount: null,
|
|
@@ -583,7 +583,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
583
583
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
584
584
|
preparationStatus: 'Preparation',
|
|
585
585
|
defaultAgentName: 'agent1',
|
|
586
|
-
defaultLlmModelName:
|
|
586
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
587
587
|
defaultLlmAgentName: 'default-llm-agent',
|
|
588
588
|
logFilePath: null,
|
|
589
589
|
maximumPreparingIssuesCount: null,
|
|
@@ -592,7 +592,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
592
592
|
});
|
|
593
593
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
594
594
|
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).toBe(
|
|
595
|
-
`aw url1 research claude-sonnet-4
|
|
595
|
+
`aw url1 research claude-sonnet-4-6 ${mockProject.url}`,
|
|
596
596
|
);
|
|
597
597
|
});
|
|
598
598
|
it('should use category label over defaultLlmAgentName when no llm-agent label', async () => {
|
|
@@ -619,7 +619,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
619
619
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
620
620
|
preparationStatus: 'Preparation',
|
|
621
621
|
defaultAgentName: 'agent1',
|
|
622
|
-
defaultLlmModelName:
|
|
622
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
623
623
|
defaultLlmAgentName: 'default-llm-agent',
|
|
624
624
|
logFilePath: null,
|
|
625
625
|
maximumPreparingIssuesCount: null,
|
|
@@ -628,7 +628,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
628
628
|
});
|
|
629
629
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
630
630
|
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).toBe(
|
|
631
|
-
`aw url1 impl claude-sonnet-4
|
|
631
|
+
`aw url1 impl claude-sonnet-4-6 ${mockProject.url}`,
|
|
632
632
|
);
|
|
633
633
|
});
|
|
634
634
|
it('should use defaultLlmAgentName over defaultAgentName when no label', async () => {
|
|
@@ -655,7 +655,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
655
655
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
656
656
|
preparationStatus: 'Preparation',
|
|
657
657
|
defaultAgentName: 'agent1',
|
|
658
|
-
defaultLlmModelName:
|
|
658
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
659
659
|
defaultLlmAgentName: 'default-llm-agent',
|
|
660
660
|
logFilePath: null,
|
|
661
661
|
maximumPreparingIssuesCount: null,
|
|
@@ -664,7 +664,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
664
664
|
});
|
|
665
665
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
666
666
|
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).toBe(
|
|
667
|
-
`aw url1 default-llm-agent claude-sonnet-4
|
|
667
|
+
`aw url1 default-llm-agent claude-sonnet-4-6 ${mockProject.url}`,
|
|
668
668
|
);
|
|
669
669
|
});
|
|
670
670
|
it('should use llm-model label over defaultLlmModelName', async () => {
|
|
@@ -703,7 +703,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
703
703
|
`aw url1 impl claude-sonnet ${mockProject.url}`,
|
|
704
704
|
);
|
|
705
705
|
});
|
|
706
|
-
it('should
|
|
706
|
+
it('should log error and skip issue when no llm-model label and no defaultLlmModelName', async () => {
|
|
707
707
|
const awaitingIssues: Issue[] = [
|
|
708
708
|
createMockIssue({
|
|
709
709
|
url: 'url1',
|
|
@@ -722,6 +722,57 @@ describe('StartPreparationUseCase', () => {
|
|
|
722
722
|
stderr: '',
|
|
723
723
|
exitCode: 0,
|
|
724
724
|
});
|
|
725
|
+
const consoleErrorSpy = jest
|
|
726
|
+
.spyOn(console, 'error')
|
|
727
|
+
.mockImplementation(() => {});
|
|
728
|
+
await useCase.run({
|
|
729
|
+
projectUrl: 'https://github.com/user/repo',
|
|
730
|
+
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
731
|
+
preparationStatus: 'Preparation',
|
|
732
|
+
defaultAgentName: 'agent1',
|
|
733
|
+
defaultLlmModelName: null,
|
|
734
|
+
defaultLlmAgentName: null,
|
|
735
|
+
logFilePath: null,
|
|
736
|
+
maximumPreparingIssuesCount: null,
|
|
737
|
+
utilizationPercentageThreshold: 90,
|
|
738
|
+
allowedIssueAuthors: null,
|
|
739
|
+
});
|
|
740
|
+
expect(consoleErrorSpy).toHaveBeenCalledWith(
|
|
741
|
+
'No LLM model configured for issue url1. Provide --defaultLlmModelName or add an llm-model: label.',
|
|
742
|
+
);
|
|
743
|
+
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(0);
|
|
744
|
+
consoleErrorSpy.mockRestore();
|
|
745
|
+
});
|
|
746
|
+
it('should continue processing subsequent issues when one issue has no model configured', async () => {
|
|
747
|
+
const awaitingIssues: Issue[] = [
|
|
748
|
+
createMockIssue({
|
|
749
|
+
url: 'url1',
|
|
750
|
+
title: 'Issue 1 (no model)',
|
|
751
|
+
labels: ['category:impl'],
|
|
752
|
+
status: 'Awaiting Workspace',
|
|
753
|
+
}),
|
|
754
|
+
createMockIssue({
|
|
755
|
+
url: 'url2',
|
|
756
|
+
title: 'Issue 2 (with model label)',
|
|
757
|
+
labels: ['category:impl', 'llm-model:claude-sonnet-4-6'],
|
|
758
|
+
status: 'Awaiting Workspace',
|
|
759
|
+
number: 2,
|
|
760
|
+
itemId: 'item-2',
|
|
761
|
+
}),
|
|
762
|
+
];
|
|
763
|
+
mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
|
|
764
|
+
mockIssueRepository.getStoryObjectMap.mockResolvedValue(
|
|
765
|
+
createMockStoryObjectMap(awaitingIssues),
|
|
766
|
+
);
|
|
767
|
+
mockIssueRepository.getAllOpened.mockResolvedValueOnce(awaitingIssues);
|
|
768
|
+
mockLocalCommandRunner.runCommand.mockResolvedValue({
|
|
769
|
+
stdout: '',
|
|
770
|
+
stderr: '',
|
|
771
|
+
exitCode: 0,
|
|
772
|
+
});
|
|
773
|
+
const consoleErrorSpy = jest
|
|
774
|
+
.spyOn(console, 'error')
|
|
775
|
+
.mockImplementation(() => {});
|
|
725
776
|
await useCase.run({
|
|
726
777
|
projectUrl: 'https://github.com/user/repo',
|
|
727
778
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
@@ -734,10 +785,14 @@ describe('StartPreparationUseCase', () => {
|
|
|
734
785
|
utilizationPercentageThreshold: 90,
|
|
735
786
|
allowedIssueAuthors: null,
|
|
736
787
|
});
|
|
788
|
+
expect(consoleErrorSpy).toHaveBeenCalledWith(
|
|
789
|
+
'No LLM model configured for issue url1. Provide --defaultLlmModelName or add an llm-model: label.',
|
|
790
|
+
);
|
|
737
791
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
738
|
-
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).
|
|
739
|
-
|
|
792
|
+
expect(mockLocalCommandRunner.runCommand.mock.calls[0][0]).toContain(
|
|
793
|
+
'url2 impl claude-sonnet-4-6',
|
|
740
794
|
);
|
|
795
|
+
consoleErrorSpy.mockRestore();
|
|
741
796
|
});
|
|
742
797
|
it('should handle no awaiting workspace issues gracefully', async () => {
|
|
743
798
|
// Test that the loop handles an empty awaiting workspace issues array
|
|
@@ -799,7 +854,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
799
854
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
800
855
|
preparationStatus: 'Preparation',
|
|
801
856
|
defaultAgentName: 'agent1',
|
|
802
|
-
defaultLlmModelName:
|
|
857
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
803
858
|
defaultLlmAgentName: null,
|
|
804
859
|
logFilePath: null,
|
|
805
860
|
maximumPreparingIssuesCount: 3,
|
|
@@ -833,7 +888,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
833
888
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
834
889
|
preparationStatus: 'Preparation',
|
|
835
890
|
defaultAgentName: 'agent1',
|
|
836
|
-
defaultLlmModelName:
|
|
891
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
837
892
|
defaultLlmAgentName: null,
|
|
838
893
|
logFilePath: null,
|
|
839
894
|
maximumPreparingIssuesCount: null,
|
|
@@ -900,7 +955,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
900
955
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
901
956
|
preparationStatus: 'Preparation',
|
|
902
957
|
defaultAgentName: 'agent1',
|
|
903
|
-
defaultLlmModelName:
|
|
958
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
904
959
|
defaultLlmAgentName: null,
|
|
905
960
|
logFilePath: null,
|
|
906
961
|
maximumPreparingIssuesCount: null,
|
|
@@ -983,7 +1038,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
983
1038
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
984
1039
|
preparationStatus: 'Preparation',
|
|
985
1040
|
defaultAgentName: 'agent1',
|
|
986
|
-
defaultLlmModelName:
|
|
1041
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
987
1042
|
defaultLlmAgentName: null,
|
|
988
1043
|
logFilePath: null,
|
|
989
1044
|
maximumPreparingIssuesCount: null,
|
|
@@ -1025,7 +1080,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1025
1080
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1026
1081
|
preparationStatus: 'Preparation',
|
|
1027
1082
|
defaultAgentName: 'agent1',
|
|
1028
|
-
defaultLlmModelName:
|
|
1083
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1029
1084
|
defaultLlmAgentName: null,
|
|
1030
1085
|
logFilePath: null,
|
|
1031
1086
|
maximumPreparingIssuesCount: null,
|
|
@@ -1112,7 +1167,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1112
1167
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1113
1168
|
preparationStatus: 'Preparation',
|
|
1114
1169
|
defaultAgentName: 'agent1',
|
|
1115
|
-
defaultLlmModelName:
|
|
1170
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1116
1171
|
defaultLlmAgentName: null,
|
|
1117
1172
|
logFilePath: null,
|
|
1118
1173
|
maximumPreparingIssuesCount: null,
|
|
@@ -1191,7 +1246,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1191
1246
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1192
1247
|
preparationStatus: 'Preparation',
|
|
1193
1248
|
defaultAgentName: 'agent1',
|
|
1194
|
-
defaultLlmModelName:
|
|
1249
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1195
1250
|
defaultLlmAgentName: null,
|
|
1196
1251
|
logFilePath: null,
|
|
1197
1252
|
maximumPreparingIssuesCount: null,
|
|
@@ -1299,7 +1354,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1299
1354
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1300
1355
|
preparationStatus: 'Preparation',
|
|
1301
1356
|
defaultAgentName: 'agent1',
|
|
1302
|
-
defaultLlmModelName:
|
|
1357
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1303
1358
|
defaultLlmAgentName: null,
|
|
1304
1359
|
logFilePath: null,
|
|
1305
1360
|
maximumPreparingIssuesCount: null,
|
|
@@ -1346,7 +1401,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1346
1401
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1347
1402
|
preparationStatus: 'Preparation',
|
|
1348
1403
|
defaultAgentName: 'agent1',
|
|
1349
|
-
defaultLlmModelName:
|
|
1404
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1350
1405
|
defaultLlmAgentName: null,
|
|
1351
1406
|
logFilePath: null,
|
|
1352
1407
|
maximumPreparingIssuesCount: null,
|
|
@@ -1404,7 +1459,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1404
1459
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1405
1460
|
preparationStatus: 'Preparation',
|
|
1406
1461
|
defaultAgentName: 'agent1',
|
|
1407
|
-
defaultLlmModelName:
|
|
1462
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1408
1463
|
defaultLlmAgentName: null,
|
|
1409
1464
|
logFilePath: null,
|
|
1410
1465
|
maximumPreparingIssuesCount: null,
|
|
@@ -1465,7 +1520,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1465
1520
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1466
1521
|
preparationStatus: 'Preparation',
|
|
1467
1522
|
defaultAgentName: 'agent1',
|
|
1468
|
-
defaultLlmModelName:
|
|
1523
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1469
1524
|
defaultLlmAgentName: null,
|
|
1470
1525
|
logFilePath: null,
|
|
1471
1526
|
maximumPreparingIssuesCount: null,
|
|
@@ -1515,7 +1570,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1515
1570
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1516
1571
|
preparationStatus: 'Preparation',
|
|
1517
1572
|
defaultAgentName: 'agent1',
|
|
1518
|
-
defaultLlmModelName:
|
|
1573
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1519
1574
|
defaultLlmAgentName: null,
|
|
1520
1575
|
logFilePath: null,
|
|
1521
1576
|
maximumPreparingIssuesCount: null,
|
|
@@ -1565,7 +1620,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1565
1620
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1566
1621
|
preparationStatus: 'Preparation',
|
|
1567
1622
|
defaultAgentName: 'agent1',
|
|
1568
|
-
defaultLlmModelName:
|
|
1623
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1569
1624
|
defaultLlmAgentName: null,
|
|
1570
1625
|
logFilePath: null,
|
|
1571
1626
|
maximumPreparingIssuesCount: null,
|
|
@@ -1615,7 +1670,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1615
1670
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1616
1671
|
preparationStatus: 'Preparation',
|
|
1617
1672
|
defaultAgentName: 'agent1',
|
|
1618
|
-
defaultLlmModelName:
|
|
1673
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1619
1674
|
defaultLlmAgentName: null,
|
|
1620
1675
|
logFilePath: null,
|
|
1621
1676
|
maximumPreparingIssuesCount: null,
|
|
@@ -1672,7 +1727,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1672
1727
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1673
1728
|
preparationStatus: 'Preparation',
|
|
1674
1729
|
defaultAgentName: 'agent1',
|
|
1675
|
-
defaultLlmModelName:
|
|
1730
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1676
1731
|
defaultLlmAgentName: null,
|
|
1677
1732
|
logFilePath: null,
|
|
1678
1733
|
maximumPreparingIssuesCount: null,
|
|
@@ -1720,7 +1775,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1720
1775
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1721
1776
|
preparationStatus: 'Preparation',
|
|
1722
1777
|
defaultAgentName: 'agent1',
|
|
1723
|
-
defaultLlmModelName:
|
|
1778
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1724
1779
|
defaultLlmAgentName: null,
|
|
1725
1780
|
logFilePath: null,
|
|
1726
1781
|
maximumPreparingIssuesCount: null,
|
|
@@ -1767,7 +1822,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1767
1822
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1768
1823
|
preparationStatus: 'Preparation',
|
|
1769
1824
|
defaultAgentName: 'agent1',
|
|
1770
|
-
defaultLlmModelName:
|
|
1825
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1771
1826
|
defaultLlmAgentName: null,
|
|
1772
1827
|
logFilePath: null,
|
|
1773
1828
|
maximumPreparingIssuesCount: null,
|
|
@@ -1831,7 +1886,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1831
1886
|
awaitingWorkspaceStatus: 'Awaiting Workspace',
|
|
1832
1887
|
preparationStatus: 'Preparation',
|
|
1833
1888
|
defaultAgentName: 'agent1',
|
|
1834
|
-
defaultLlmModelName:
|
|
1889
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1835
1890
|
defaultLlmAgentName: null,
|
|
1836
1891
|
logFilePath: null,
|
|
1837
1892
|
maximumPreparingIssuesCount: null,
|
|
@@ -164,9 +164,13 @@ export class StartPreparationUseCase {
|
|
|
164
164
|
issue.labels
|
|
165
165
|
.find((label: string) => label.startsWith('llm-model:'))
|
|
166
166
|
?.replace('llm-model:', '')
|
|
167
|
-
.trim() ||
|
|
168
|
-
|
|
169
|
-
|
|
167
|
+
.trim() || params.defaultLlmModelName;
|
|
168
|
+
if (!model) {
|
|
169
|
+
console.error(
|
|
170
|
+
`No LLM model configured for issue ${issue.url}. Provide --defaultLlmModelName or add an llm-model: label.`,
|
|
171
|
+
);
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
170
174
|
const isPrUrl = issue.url.includes('/pull/');
|
|
171
175
|
let existingPRBranchName: string | null = null;
|
|
172
176
|
if (isPrUrl) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEhB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,QAAQ,EAAE,MAAM;CAI7B;AACD,qBAAa,uBAAwB,SAAQ,KAAK;gBAE9C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,cAAc,EAAE,MAAM,GAAG,IAAI;CAOhC;AAWD,qBAAa,qCAAqC;IAE9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAShC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAIvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAjBjB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,UAAU,GAAG,eAAe,CAC7B,EACgB,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,KAAK,GACL,QAAQ,GACR,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,CACvB,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC,EACgB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,gBAAgB,CACjB;IAGH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,uBAAuB,EAAE,MAAM,CAAC;QAChC,0BAA0B,EAAE,MAAM,CAAC;QACnC,sBAAsB,EAAE,MAAM,CAAC;QAC/B,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;KAClD,KAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEhB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,QAAQ,EAAE,MAAM;CAI7B;AACD,qBAAa,uBAAwB,SAAQ,KAAK;gBAE9C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,cAAc,EAAE,MAAM,GAAG,IAAI;CAOhC;AAWD,qBAAa,qCAAqC;IAE9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAShC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAIvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAjBjB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,UAAU,GAAG,eAAe,CAC7B,EACgB,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,KAAK,GACL,QAAQ,GACR,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,CACvB,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC,EACgB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,gBAAgB,CACjB;IAGH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,uBAAuB,EAAE,MAAM,CAAC;QAChC,0BAA0B,EAAE,MAAM,CAAC;QACnC,sBAAsB,EAAE,MAAM,CAAC;QAC/B,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;KAClD,KAAG,OAAO,CAAC,IAAI,CAAC,CAwIf;IAEF,OAAO,CAAC,iBAAiB,CAyFvB;IAEF,OAAO,CAAC,uBAAuB,CAQ7B;IAEF,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,mBAAmB,CAWzB;IAEF,OAAO,CAAC,+BAA+B,CAgCrC;CACH"}
|
|
@@ -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,CAsKf;CACH"}
|