github-issue-tower-defence-management 1.148.1 → 1.148.3
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 +14 -0
- package/bin/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.js +0 -3
- package/bin/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.js.map +1 -1
- package/bin/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.js +5 -1
- package/bin/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.test.ts +26 -2
- package/src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.ts +0 -3
- package/src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.test.ts +90 -0
- package/src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.ts +9 -3
- package/types/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.d.ts.map +1 -1
- package/types/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [1.148.3](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.148.2...v1.148.3) (2026-08-09)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **assign:** run manager auto-assignment on incremental fetch cycles ([#1473](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1473)) ([5a6cfe3](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/5a6cfe365daa5f7516d5b1c0116bc5d436889ba6))
|
|
7
|
+
|
|
8
|
+
## [1.148.2](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.148.1...v1.148.2) (2026-08-09)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **story:** select the longest prefix-matching title as the story issue ([#1471](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1471)) ([52a77dc](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/52a77dca3d58b83a1274d3e95fd8a2820692b59e))
|
|
14
|
+
|
|
1
15
|
## [1.148.1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.148.0...v1.148.1) (2026-08-09)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -5,9 +5,6 @@ class AssignNoAssigneeIssueToManagerUseCase {
|
|
|
5
5
|
constructor(issueRepository) {
|
|
6
6
|
this.issueRepository = issueRepository;
|
|
7
7
|
this.run = async (input) => {
|
|
8
|
-
if (input.cacheUsed) {
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
8
|
const authorAllowList = input.autoAssignManagerAuthors &&
|
|
12
9
|
input.autoAssignManagerAuthors.length > 0
|
|
13
10
|
? input.autoAssignManagerAuthors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssignNoAssigneeIssueToManagerUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.ts"],"names":[],"mappings":";;;AAMA,MAAa,qCAAqC;IAChD,YACW,eAGR;QAHQ,oBAAe,GAAf,eAAe,CAGvB;QAGH,QAAG,GAAG,KAAK,EAAE,KAQZ,EAAiB,EAAE;YAClB,
|
|
1
|
+
{"version":3,"file":"AssignNoAssigneeIssueToManagerUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.ts"],"names":[],"mappings":";;;AAMA,MAAa,qCAAqC;IAChD,YACW,eAGR;QAHQ,oBAAe,GAAf,eAAe,CAGvB;QAGH,QAAG,GAAG,KAAK,EAAE,KAQZ,EAAiB,EAAE;YAClB,MAAM,eAAe,GACnB,KAAK,CAAC,wBAAwB;gBAC9B,KAAK,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC;gBACvC,CAAC,CAAC,KAAK,CAAC,wBAAwB;gBAChC,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,YAAY,GAAG,CAAC,MAIrB,EAAW,EAAE;gBACZ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBAC3D,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,CACL,eAAe,KAAK,IAAI,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CACpE,CAAC;YACJ,CAAC,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,0BAA0B,CAAC;YACjD,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1D,OAAO;YACT,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACxE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACtD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;gBAC3C,IACE,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC;oBACtC,CAAC,YAAY,CAAC,aAAa,CAAC,EAC5B,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;oBACvD,SAAS;gBACX,CAAC;gBACD,IACE,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CACxB;oBACE,GAAG,EAAE,aAAa,CAAC,GAAG;oBACtB,IAAI,EAAE,aAAa,CAAC,IAAI;oBACxB,MAAM,EAAE,aAAa,CAAC,MAAM;iBAC7B,EACD,aAAa,CAAC,GAAG,EACjB,KAAK,CAAC,OAAO,CACd,CAAC,EACF,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACrC,CAAC;QACH,CAAC,CAAC;QAEM,iBAAY,GAAG,KAAK,EAAE,KAAa,EAA4B,EAAE;YACvE,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,8BAA8B,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEM,iBAAY,GAAG,KAAK,EAC1B,OAAgB,EAChB,aAA4B,EACV,EAAE;YACpB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,OAAO,CAAC,KAAK,CACX,uBAAuB,aAAa,CAAC,GAAG,gBAAgB,CAAC,CAAC,OAAO,EAAE,CACpE,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEM,kBAAa,GAAG,KAAK,EAC3B,KAA6C,EAC7C,QAAgB,EAChB,OAAuB,EACL,EAAE;YACpB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,OAAO,CAAC,KAAK,CACX,uCAAuC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAChE,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEM,0BAAqB,GAAG,KAAK,IAAmB,EAAE;YACxD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;IAvHC,CAAC;CAwHL;AA9HD,sFA8HC"}
|
|
@@ -12,7 +12,11 @@ class ConvertCheckboxToIssueInStoryIssueUseCase {
|
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
14
|
for (const storyOption of input.project.story?.stories || []) {
|
|
15
|
-
const storyIssue = input.issues
|
|
15
|
+
const storyIssue = input.issues
|
|
16
|
+
.filter((issue) => storyOption.name.startsWith(issue.title))
|
|
17
|
+
.reduce((longest, issue) => longest === null || issue.title.length > longest.title.length
|
|
18
|
+
? issue
|
|
19
|
+
: longest, null);
|
|
16
20
|
const storyObject = input.storyObjectMap.get(storyOption.name);
|
|
17
21
|
if (storyOption.name.startsWith('regular / ')) {
|
|
18
22
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConvertCheckboxToIssueInStoryIssueUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.ts"],"names":[],"mappings":";;;AAIA,mCAAuC;AACvC,+DAAgE;AAGhE,MAAa,yCAAyC;IACpD,YACW,eAOR;QAPQ,oBAAe,GAAf,eAAe,CAOvB;QAGH,QAAG,GAAG,KAAK,EAAE,KAQZ,EAAiB,EAAE;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YAED,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;gBAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ConvertCheckboxToIssueInStoryIssueUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -79,14 +79,14 @@ describe('AssignNoAssigneeIssueToManagerUseCase', () => {
|
|
|
79
79
|
},
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
|
-
name: 'should
|
|
82
|
+
name: 'should assign manager when cacheUsed is true',
|
|
83
83
|
input: {
|
|
84
84
|
issues: [basicIssue],
|
|
85
85
|
manager: 'manager1',
|
|
86
86
|
cacheUsed: true,
|
|
87
87
|
},
|
|
88
88
|
expectedCalls: {
|
|
89
|
-
updateAssigneeList: [],
|
|
89
|
+
updateAssigneeList: [[expect.anything(), ['manager1']]],
|
|
90
90
|
},
|
|
91
91
|
},
|
|
92
92
|
{
|
|
@@ -313,6 +313,30 @@ describe('AssignNoAssigneeIssueToManagerUseCase', () => {
|
|
|
313
313
|
]);
|
|
314
314
|
});
|
|
315
315
|
|
|
316
|
+
it('searches and adds a matched issue when cacheUsed is true', async () => {
|
|
317
|
+
mockIssueRepository.searchIssues.mockResolvedValueOnce([searchedIssue]);
|
|
318
|
+
|
|
319
|
+
await useCase.run({
|
|
320
|
+
issues: [],
|
|
321
|
+
manager: 'manager1',
|
|
322
|
+
cacheUsed: true,
|
|
323
|
+
autoAssignManagerAuthors: ['dependabot'],
|
|
324
|
+
projectToAddSearchedIssues: project,
|
|
325
|
+
queryToAddProjectEnabled: true,
|
|
326
|
+
queryToAddProject: 'repo:testOrg/testRepo is:open no:project',
|
|
327
|
+
});
|
|
328
|
+
|
|
329
|
+
expect(mockIssueRepository.searchIssues.mock.calls).toEqual([
|
|
330
|
+
['repo:testOrg/testRepo is:open no:project'],
|
|
331
|
+
]);
|
|
332
|
+
expect(mockIssueRepository.addIssueToProject.mock.calls).toEqual([
|
|
333
|
+
[project, searchedIssue.url],
|
|
334
|
+
]);
|
|
335
|
+
expect(mockIssueRepository.updateAssigneeList.mock.calls).toEqual([
|
|
336
|
+
[{ org: 'testOrg', repo: 'testRepo', number: 7 }, ['manager1']],
|
|
337
|
+
]);
|
|
338
|
+
});
|
|
339
|
+
|
|
316
340
|
it('does not add or assign a matched issue whose author is outside autoAssignManagerAuthors', async () => {
|
|
317
341
|
mockIssueRepository.searchIssues.mockResolvedValueOnce([
|
|
318
342
|
{ ...searchedIssue, author: 'human-author' },
|
|
@@ -21,9 +21,6 @@ export class AssignNoAssigneeIssueToManagerUseCase {
|
|
|
21
21
|
queryToAddProjectEnabled?: boolean | null;
|
|
22
22
|
queryToAddProject?: string | null;
|
|
23
23
|
}): Promise<void> => {
|
|
24
|
-
if (input.cacheUsed) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
24
|
const authorAllowList =
|
|
28
25
|
input.autoAssignManagerAuthors &&
|
|
29
26
|
input.autoAssignManagerAuthors.length > 0
|
|
@@ -375,6 +375,96 @@ describe('ConvertCheckboxToIssueInStoryIssueUseCase', () => {
|
|
|
375
375
|
],
|
|
376
376
|
expectedAddIssueToProjectCalls: [],
|
|
377
377
|
},
|
|
378
|
+
{
|
|
379
|
+
name: 'should choose the longest prefix-matching title when several issues prefix-match one story option',
|
|
380
|
+
input: {
|
|
381
|
+
project: singleStoryProject,
|
|
382
|
+
issues: [
|
|
383
|
+
{
|
|
384
|
+
...basicStoryIssue1,
|
|
385
|
+
title: 'Story',
|
|
386
|
+
number: 900,
|
|
387
|
+
url: 'https://github.com/org/repo/issues/900',
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
...basicStoryIssue1,
|
|
391
|
+
title: 'Story 1',
|
|
392
|
+
number: 901,
|
|
393
|
+
url: 'https://github.com/org/repo/issues/901',
|
|
394
|
+
},
|
|
395
|
+
],
|
|
396
|
+
cacheUsed: false,
|
|
397
|
+
urlOfStoryView: 'https://example.com',
|
|
398
|
+
storyObjectMap: singleStoryObjectMap,
|
|
399
|
+
manager: 'manager',
|
|
400
|
+
createTaskFromStoryBodyCheckboxEnabled: false,
|
|
401
|
+
},
|
|
402
|
+
expectedCreateNewIssueCalls: [],
|
|
403
|
+
expectedUpdateIssueCalls: [
|
|
404
|
+
[
|
|
405
|
+
{
|
|
406
|
+
...basicStoryIssue1,
|
|
407
|
+
title: 'Story 1',
|
|
408
|
+
number: 901,
|
|
409
|
+
url: 'https://github.com/org/repo/issues/901',
|
|
410
|
+
body: `https://example.com?sliceBy%5Bvalue%5D=Story%201
|
|
411
|
+
|
|
412
|
+
- [ ] Task 1
|
|
413
|
+
- [ ] Task 2`,
|
|
414
|
+
},
|
|
415
|
+
],
|
|
416
|
+
],
|
|
417
|
+
expectedUpdateStoryCalls: [],
|
|
418
|
+
expectedGetIssueByUrlCalls: [
|
|
419
|
+
['https://github.com/org/repo/issues/901'],
|
|
420
|
+
],
|
|
421
|
+
expectedAddIssueToProjectCalls: [],
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
name: 'should choose the longest prefix-matching title regardless of the order the issues arrive in',
|
|
425
|
+
input: {
|
|
426
|
+
project: singleStoryProject,
|
|
427
|
+
issues: [
|
|
428
|
+
{
|
|
429
|
+
...basicStoryIssue1,
|
|
430
|
+
title: 'Story 1',
|
|
431
|
+
number: 901,
|
|
432
|
+
url: 'https://github.com/org/repo/issues/901',
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
...basicStoryIssue1,
|
|
436
|
+
title: 'Story',
|
|
437
|
+
number: 900,
|
|
438
|
+
url: 'https://github.com/org/repo/issues/900',
|
|
439
|
+
},
|
|
440
|
+
],
|
|
441
|
+
cacheUsed: false,
|
|
442
|
+
urlOfStoryView: 'https://example.com',
|
|
443
|
+
storyObjectMap: singleStoryObjectMap,
|
|
444
|
+
manager: 'manager',
|
|
445
|
+
createTaskFromStoryBodyCheckboxEnabled: false,
|
|
446
|
+
},
|
|
447
|
+
expectedCreateNewIssueCalls: [],
|
|
448
|
+
expectedUpdateIssueCalls: [
|
|
449
|
+
[
|
|
450
|
+
{
|
|
451
|
+
...basicStoryIssue1,
|
|
452
|
+
title: 'Story 1',
|
|
453
|
+
number: 901,
|
|
454
|
+
url: 'https://github.com/org/repo/issues/901',
|
|
455
|
+
body: `https://example.com?sliceBy%5Bvalue%5D=Story%201
|
|
456
|
+
|
|
457
|
+
- [ ] Task 1
|
|
458
|
+
- [ ] Task 2`,
|
|
459
|
+
},
|
|
460
|
+
],
|
|
461
|
+
],
|
|
462
|
+
expectedUpdateStoryCalls: [],
|
|
463
|
+
expectedGetIssueByUrlCalls: [
|
|
464
|
+
['https://github.com/org/repo/issues/901'],
|
|
465
|
+
],
|
|
466
|
+
expectedAddIssueToProjectCalls: [],
|
|
467
|
+
},
|
|
378
468
|
{
|
|
379
469
|
name: 'should consolidate a stale story view link on an icebox story issue without reading it when the link is already correct',
|
|
380
470
|
input: {
|
|
@@ -33,9 +33,15 @@ export class ConvertCheckboxToIssueInStoryIssueUseCase {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
for (const storyOption of input.project.story?.stories || []) {
|
|
36
|
-
const storyIssue = input.issues
|
|
37
|
-
storyOption.name.startsWith(issue.title)
|
|
38
|
-
|
|
36
|
+
const storyIssue = input.issues
|
|
37
|
+
.filter((issue) => storyOption.name.startsWith(issue.title))
|
|
38
|
+
.reduce<Issue | null>(
|
|
39
|
+
(longest, issue) =>
|
|
40
|
+
longest === null || issue.title.length > longest.title.length
|
|
41
|
+
? issue
|
|
42
|
+
: longest,
|
|
43
|
+
null,
|
|
44
|
+
);
|
|
39
45
|
const storyObject = input.storyObjectMap.get(storyOption.name);
|
|
40
46
|
if (storyOption.name.startsWith('regular / ')) {
|
|
41
47
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssignNoAssigneeIssueToManagerUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,qBAAa,qCAAqC;IAE9C,QAAQ,CAAC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,oBAAoB,GAAG,cAAc,GAAG,mBAAmB,CAC5D;gBAHQ,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,oBAAoB,GAAG,cAAc,GAAG,mBAAmB,CAC5D;IAGH,GAAG,GAAU,OAAO;QAClB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC;QACnB,wBAAwB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC3C,0BAA0B,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAC5C,wBAAwB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAC1C,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,KAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"AssignNoAssigneeIssueToManagerUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,qBAAa,qCAAqC;IAE9C,QAAQ,CAAC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,oBAAoB,GAAG,cAAc,GAAG,mBAAmB,CAC5D;gBAHQ,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,oBAAoB,GAAG,cAAc,GAAG,mBAAmB,CAC5D;IAGH,GAAG,GAAU,OAAO;QAClB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC;QACnB,wBAAwB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC3C,0BAA0B,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAC5C,wBAAwB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAC1C,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,KAAG,OAAO,CAAC,IAAI,CAAC,CAwDf;IAEF,OAAO,CAAC,YAAY,CAUlB;IAEF,OAAO,CAAC,YAAY,CAgBlB;IAEF,OAAO,CAAC,aAAa,CAiBnB;IAEF,OAAO,CAAC,qBAAqB,CAE3B;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConvertCheckboxToIssueInStoryIssueUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,qBAAa,yCAAyC;IAElD,QAAQ,CAAC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACb,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,eAAe,GACf,mBAAmB,CACtB;gBAPQ,eAAe,EAAE,IAAI,CAC5B,eAAe,EACb,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,eAAe,GACf,mBAAmB,CACtB;IAGH,GAAG,GAAU,OAAO;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,cAAc,CAAC;QAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,sCAAsC,EAAE,OAAO,CAAC;KACjD,KAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ConvertCheckboxToIssueInStoryIssueUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,qBAAa,yCAAyC;IAElD,QAAQ,CAAC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACb,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,eAAe,GACf,mBAAmB,CACtB;gBAPQ,eAAe,EAAE,IAAI,CAC5B,eAAe,EACb,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,eAAe,GACf,mBAAmB,CACtB;IAGH,GAAG,GAAU,OAAO;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,cAAc,CAAC;QAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,sCAAsC,EAAE,OAAO,CAAC;KACjD,KAAG,OAAO,CAAC,IAAI,CAAC,CAqGf;IACF,gCAAgC,GAC9B,MAAM,MAAM,EACZ,gBAAgB,MAAM,EACtB,WAAW,MAAM,KAChB,MAAM,CA8BP;IACF,kBAAkB,GAAI,gBAAgB,MAAM,EAAE,WAAW,MAAM,KAAG,MAAM,CAEtE;IACF,yBAAyB,GACvB,gBAAgB,MAAM,EACtB,WAAW,MAAM,KAChB,MAAM,CAQP;IACF,gCAAgC,GAAI,gBAAgB,MAAM,KAAG,MAAM,EAAE,CAcnE;CACH"}
|