github-issue-tower-defence-management 1.165.0 → 1.166.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.
Files changed (59) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bin/adapter/entry-points/console/consoleOperationApi.js +44 -1
  3. package/bin/adapter/entry-points/console/consoleOperationApi.js.map +1 -1
  4. package/bin/adapter/entry-points/console/consoleTabNames.js +1 -0
  5. package/bin/adapter/entry-points/console/consoleTabNames.js.map +1 -1
  6. package/bin/adapter/entry-points/console/ui-dist/assets/index-CrSqMAVR.js +86 -0
  7. package/bin/adapter/entry-points/console/ui-dist/index.html +1 -1
  8. package/bin/adapter/entry-points/console/webServer.js +2 -0
  9. package/bin/adapter/entry-points/console/webServer.js.map +1 -1
  10. package/bin/adapter/repositories/GraphqlProjectRepository.js +3 -3
  11. package/bin/adapter/repositories/GraphqlProjectRepository.js.map +1 -1
  12. package/bin/domain/entities/RequiredProjectField.js +0 -5
  13. package/bin/domain/entities/RequiredProjectField.js.map +1 -1
  14. package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js +12 -4
  15. package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js.map +1 -1
  16. package/bin/domain/usecases/ProjectRequiredFieldCreateUseCase.js +13 -1
  17. package/bin/domain/usecases/ProjectRequiredFieldCreateUseCase.js.map +1 -1
  18. package/bin/domain/usecases/console/GenerateConsoleListsUseCase.js +23 -0
  19. package/bin/domain/usecases/console/GenerateConsoleListsUseCase.js.map +1 -1
  20. package/package.json +1 -1
  21. package/src/adapter/entry-points/console/consoleOperationApi.test.ts +211 -0
  22. package/src/adapter/entry-points/console/consoleOperationApi.ts +63 -0
  23. package/src/adapter/entry-points/console/consoleTabNames.ts +1 -0
  24. package/src/adapter/entry-points/console/ui/e2e/consoleScenario.spec.ts +61 -0
  25. package/src/adapter/entry-points/console/ui/e2e/consoleTestHarness.ts +63 -2
  26. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.stories.tsx +4 -0
  27. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.test.tsx +1 -0
  28. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryList.stories.tsx +77 -0
  29. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryList.test.tsx +196 -0
  30. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryList.tsx +163 -0
  31. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleNavigation.test.ts +1 -0
  32. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTabData.ts +15 -0
  33. package/src/adapter/entry-points/console/ui/src/features/console/lib/consoleApi.ts +29 -0
  34. package/src/adapter/entry-points/console/ui/src/features/console/logic/tabAdvance.test.ts +1 -0
  35. package/src/adapter/entry-points/console/ui/src/features/console/logic/types.ts +10 -1
  36. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.tsx +43 -8
  37. package/src/adapter/entry-points/console/ui-dist/assets/index-CrSqMAVR.js +86 -0
  38. package/src/adapter/entry-points/console/ui-dist/index.html +1 -1
  39. package/src/adapter/entry-points/console/webServer.ts +3 -0
  40. package/src/adapter/repositories/GraphqlProjectRepository.ts +3 -3
  41. package/src/domain/entities/RequiredProjectField.ts +0 -5
  42. package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.test.ts +14 -4
  43. package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts +15 -5
  44. package/src/domain/usecases/ProjectRequiredFieldCreateUseCase.test.ts +16 -5
  45. package/src/domain/usecases/ProjectRequiredFieldCreateUseCase.ts +13 -1
  46. package/src/domain/usecases/console/GenerateConsoleListsUseCase.test.ts +86 -1
  47. package/src/domain/usecases/console/GenerateConsoleListsUseCase.ts +49 -1
  48. package/types/adapter/entry-points/console/consoleOperationApi.d.ts +1 -0
  49. package/types/adapter/entry-points/console/consoleOperationApi.d.ts.map +1 -1
  50. package/types/adapter/entry-points/console/consoleTabNames.d.ts.map +1 -1
  51. package/types/adapter/entry-points/console/webServer.d.ts.map +1 -1
  52. package/types/domain/entities/RequiredProjectField.d.ts.map +1 -1
  53. package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts +1 -1
  54. package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts.map +1 -1
  55. package/types/domain/usecases/ProjectRequiredFieldCreateUseCase.d.ts.map +1 -1
  56. package/types/domain/usecases/console/GenerateConsoleListsUseCase.d.ts +18 -1
  57. package/types/domain/usecases/console/GenerateConsoleListsUseCase.d.ts.map +1 -1
  58. package/bin/adapter/entry-points/console/ui-dist/assets/index-CHUtr_4X.js +0 -86
  59. package/src/adapter/entry-points/console/ui-dist/assets/index-CHUtr_4X.js +0 -86
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>TDPM Console</title>
7
- <script type="module" crossorigin src="/assets/index-CHUtr_4X.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-CrSqMAVR.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/index-U8I8ESZj.css">
9
9
  </head>
10
10
  <body>
@@ -26,6 +26,7 @@ import {
26
26
  ConsoleProjectResolver,
27
27
  handleAttachmentUpload,
28
28
  handleComment,
29
+ handleCreateIssue,
29
30
  handleIntmux,
30
31
  handleReview,
31
32
  handleReviewComment,
@@ -507,6 +508,8 @@ const dispatchOperation = (
507
508
  return handleReviewComment(context, body);
508
509
  case '/api/upload':
509
510
  return handleAttachmentUpload(context, body);
511
+ case '/api/createissue':
512
+ return handleCreateIssue(context, body);
510
513
  default:
511
514
  return null;
512
515
  }
@@ -536,12 +536,12 @@ export class GraphqlProjectRepository
536
536
  : null,
537
537
  },
538
538
  });
539
- if (!response.data) {
539
+ if (!response.data?.createProjectV2Field?.projectV2Field) {
540
540
  const errorMessages = response.errors
541
541
  ? response.errors.map((e) => e.message).join('; ')
542
- : 'no data field in response';
542
+ : 'no projectV2Field in response';
543
543
  throw new Error(
544
- `GitHub GraphQL API returned no data for createField ${field.name}: ${errorMessages}`,
544
+ `GitHub GraphQL API failed to create field ${field.name}: ${errorMessages}`,
545
545
  );
546
546
  }
547
547
  };
@@ -63,9 +63,4 @@ export const REQUIRED_PROJECT_FIELDS: RequiredProjectFieldDefinition[] = [
63
63
  dataType: 'TEXT',
64
64
  options: [],
65
65
  },
66
- {
67
- name: AGENT_FIELD_NAME,
68
- dataType: 'SINGLE_SELECT',
69
- options: [],
70
- },
71
66
  ];
@@ -3,6 +3,7 @@ import { Issue } from '../entities/Issue';
3
3
  import { Project } from '../entities/Project';
4
4
  import { Comment } from '../entities/Comment';
5
5
  import { StoryObjectMap } from '../entities/StoryObjectMap';
6
+ import { AGENT_FIELD_NAME } from '../entities/RequiredProjectField';
6
7
 
7
8
  const createMockProject = (overrides: Partial<Project> = {}): Project => ({
8
9
  id: 'project-1',
@@ -90,6 +91,7 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
90
91
  let mockProjectRepository: {
91
92
  getByUrl: jest.Mock;
92
93
  updateAgentList: jest.Mock;
94
+ createField: jest.Mock;
93
95
  };
94
96
  let mockIssueRepository: {
95
97
  get: jest.Mock;
@@ -128,6 +130,7 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
128
130
  mockProjectRepository = {
129
131
  getByUrl: jest.fn(),
130
132
  updateAgentList: jest.fn().mockResolvedValue([]),
133
+ createField: jest.fn().mockResolvedValue(undefined),
131
134
  };
132
135
 
133
136
  mockIssueRepository = {
@@ -3719,11 +3722,10 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
3719
3722
  expect(mockProjectRepository.updateAgentList).not.toHaveBeenCalled();
3720
3723
  });
3721
3724
 
3722
- it('does not call setIssueAgentField when project has no agent field', async () => {
3725
+ it('creates agent field via createField and does not call setIssueAgentField when project has no agent field and re-fetch also returns no agent', async () => {
3723
3726
  const issue = createMockIssue({ status: 'Preparation' });
3724
- mockProjectRepository.getByUrl.mockResolvedValue(
3725
- createMockProject({ agent: null }),
3726
- );
3727
+ const projectWithoutAgent = createMockProject({ agent: null });
3728
+ mockProjectRepository.getByUrl.mockResolvedValue(projectWithoutAgent);
3727
3729
  mockIssueRepository.get.mockResolvedValue(issue);
3728
3730
  mockIssueCommentRepository.getCommentsFromIssue.mockResolvedValue([
3729
3731
  createMockComment({
@@ -3741,6 +3743,14 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
3741
3743
  allowedIssueAuthors: null,
3742
3744
  });
3743
3745
 
3746
+ expect(mockProjectRepository.createField).toHaveBeenCalledWith(
3747
+ projectWithoutAgent,
3748
+ {
3749
+ name: AGENT_FIELD_NAME,
3750
+ dataType: 'SINGLE_SELECT',
3751
+ options: [{ name: 'impl', color: 'GRAY', description: '' }],
3752
+ },
3753
+ );
3744
3754
  expect(mockIssueRepository.setIssueAgentField).not.toHaveBeenCalled();
3745
3755
  });
3746
3756
  });
@@ -27,6 +27,7 @@ import {
27
27
  import { Issue } from '../entities/Issue';
28
28
  import { FieldOption, Project } from '../entities/Project';
29
29
  import { normalizeProjectFieldName } from '../entities/ProjectFieldName';
30
+ import { AGENT_FIELD_NAME } from '../entities/RequiredProjectField';
30
31
 
31
32
  export class IssueNotFoundError extends Error {
32
33
  constructor(issueUrl: string) {
@@ -56,7 +57,7 @@ export class NotifyFinishedIssuePreparationUseCase {
56
57
  constructor(
57
58
  private readonly projectRepository: Pick<
58
59
  ProjectRepository,
59
- 'getByUrl' | 'updateAgentList'
60
+ 'getByUrl' | 'updateAgentList' | 'createField'
60
61
  >,
61
62
  private readonly issueRepository: Pick<
62
63
  IssueRepository,
@@ -570,10 +571,19 @@ export class NotifyFinishedIssuePreparationUseCase {
570
571
  project: Project,
571
572
  agentName: string,
572
573
  ): Promise<string | null> => {
574
+ const normalizedTarget = normalizeProjectFieldName(agentName);
573
575
  if (!project.agent) {
574
- return null;
576
+ await this.projectRepository.createField(project, {
577
+ name: AGENT_FIELD_NAME,
578
+ dataType: 'SINGLE_SELECT',
579
+ options: [{ name: agentName, color: 'GRAY' as const, description: '' }],
580
+ });
581
+ const refreshed = await this.projectRepository.getByUrl(project.url);
582
+ const created = refreshed.agent?.options.find(
583
+ (o) => normalizeProjectFieldName(o.name) === normalizedTarget,
584
+ );
585
+ return created?.id ?? null;
575
586
  }
576
- const normalizedTarget = normalizeProjectFieldName(agentName);
577
587
  const existing = project.agent.options.find(
578
588
  (o) => normalizeProjectFieldName(o.name) === normalizedTarget,
579
589
  );
@@ -590,10 +600,10 @@ export class NotifyFinishedIssuePreparationUseCase {
590
600
  project,
591
601
  mergedOptions,
592
602
  );
593
- const created = updatedOptions.find(
603
+ const added = updatedOptions.find(
594
604
  (o) => normalizeProjectFieldName(o.name) === normalizedTarget,
595
605
  );
596
- return created?.id ?? null;
606
+ return added?.id ?? null;
597
607
  };
598
608
 
599
609
  private patchConsoleTab = async (issue: Issue): Promise<void> => {
@@ -86,7 +86,6 @@ describe('ProjectRequiredFieldCreateUseCase', () => {
86
86
  NEXT_ACTION_DATE_FIELD_NAME,
87
87
  NEXT_ACTION_HOUR_FIELD_NAME,
88
88
  DEPENDED_ISSUE_URL_FIELD_NAME,
89
- AGENT_FIELD_NAME,
90
89
  ]);
91
90
  });
92
91
 
@@ -99,7 +98,6 @@ describe('ProjectRequiredFieldCreateUseCase', () => {
99
98
  'nextactiondate',
100
99
  'nextactionhour',
101
100
  'Depended Issue URL separated by comma',
102
- 'Agent',
103
101
  ],
104
102
  projectWithoutStory,
105
103
  );
@@ -123,7 +121,6 @@ describe('ProjectRequiredFieldCreateUseCase', () => {
123
121
  expect(createdFieldNames).toEqual([
124
122
  NEXT_ACTION_HOUR_FIELD_NAME,
125
123
  DEPENDED_ISSUE_URL_FIELD_NAME,
126
- AGENT_FIELD_NAME,
127
124
  ]);
128
125
  });
129
126
 
@@ -655,15 +652,29 @@ describe('ProjectRequiredFieldCreateUseCase', () => {
655
652
  expect(projectRepository.updateAgentList).not.toHaveBeenCalled();
656
653
  });
657
654
 
658
- it('does not call updateAgentList when project has no agent field', async () => {
655
+ it('calls createField with AGENT_FIELD_NAME and initial agents when project has no agent field', async () => {
659
656
  const { projectRepository, useCase } = createUseCase(
660
657
  [],
661
658
  projectWithoutStory,
662
659
  );
663
660
 
664
- await useCase.reconcileAgentOptions(projectWithoutStory, ['impl']);
661
+ await useCase.reconcileAgentOptions(projectWithoutStory, [
662
+ 'impl',
663
+ 'chore',
664
+ ]);
665
665
 
666
666
  expect(projectRepository.updateAgentList).not.toHaveBeenCalled();
667
+ expect(projectRepository.createField).toHaveBeenCalledWith(
668
+ projectWithoutStory,
669
+ {
670
+ name: AGENT_FIELD_NAME,
671
+ dataType: 'SINGLE_SELECT',
672
+ options: [
673
+ { name: 'impl', color: 'GRAY', description: '' },
674
+ { name: 'chore', color: 'GRAY', description: '' },
675
+ ],
676
+ },
677
+ );
667
678
  });
668
679
  });
669
680
  });
@@ -91,7 +91,19 @@ export class ProjectRequiredFieldCreateUseCase {
91
91
  project: Project,
92
92
  agentNames: string[] | null,
93
93
  ): Promise<void> => {
94
- if (!project.agent || !agentNames || agentNames.length === 0) {
94
+ if (!agentNames || agentNames.length === 0) {
95
+ return;
96
+ }
97
+ if (!project.agent) {
98
+ await this.projectRepository.createField(project, {
99
+ name: AGENT_FIELD_NAME,
100
+ dataType: 'SINGLE_SELECT',
101
+ options: agentNames.map((name) => ({
102
+ name,
103
+ color: 'GRAY' as const,
104
+ description: '',
105
+ })),
106
+ });
95
107
  return;
96
108
  }
97
109
  const existingOptions = project.agent.options;
@@ -11,7 +11,7 @@ const storyOption = (
11
11
  ): FieldOption => ({ id, name, color, description: '' });
12
12
 
13
13
  const STORY_OPTIONS: FieldOption[] = [
14
- storyOption('s1', 'regular / NO STORY; SET STORY FIELD', 'RED'),
14
+ storyOption('s1', 'regular / NO STORY; SET STORY FIELD', 'GRAY'),
15
15
  storyOption('s2', 'Story Alpha', 'BLUE'),
16
16
  storyOption('s3', 'Story Beta', 'GREEN'),
17
17
  ];
@@ -800,4 +800,89 @@ describe('GenerateConsoleListsUseCase', () => {
800
800
  expect(result.triage.items).toHaveLength(1);
801
801
  });
802
802
  });
803
+
804
+ describe('stories tab', () => {
805
+ it('includes one entry per non-GRAY story option', () => {
806
+ const result = run([]);
807
+ expect(result.stories.stories).toHaveLength(2);
808
+ expect(result.stories.stories.map((s) => s.storyName)).toEqual([
809
+ 'Story Alpha',
810
+ 'Story Beta',
811
+ ]);
812
+ });
813
+
814
+ it('excludes story options whose color is GRAY', () => {
815
+ const result = run([]);
816
+ const names = result.stories.stories.map((s) => s.storyName);
817
+ expect(names).not.toContain('regular / NO STORY; SET STORY FIELD');
818
+ });
819
+
820
+ it('counts open items per story from all open issues on the board', () => {
821
+ const result = run([
822
+ makeIssue({ story: 'Story Alpha', isClosed: false }),
823
+ makeIssue({ story: 'Story Alpha', isClosed: false }),
824
+ makeIssue({ story: 'Story Beta', isClosed: false }),
825
+ makeIssue({ story: 'Story Alpha', isClosed: true }),
826
+ ]);
827
+ const alpha = result.stories.stories.find(
828
+ (s) => s.storyName === 'Story Alpha',
829
+ );
830
+ const beta = result.stories.stories.find(
831
+ (s) => s.storyName === 'Story Beta',
832
+ );
833
+ expect(alpha?.openItemCount).toBe(2);
834
+ expect(beta?.openItemCount).toBe(1);
835
+ });
836
+
837
+ it('counts open items regardless of assignee or actionability', () => {
838
+ const result = run([
839
+ makeIssue({
840
+ story: 'Story Alpha',
841
+ assignees: ['other-person'],
842
+ isClosed: false,
843
+ }),
844
+ makeIssue({
845
+ story: 'Story Alpha',
846
+ nextActionDate: new Date('2026-07-01T00:00:00.000Z'),
847
+ isClosed: false,
848
+ }),
849
+ ]);
850
+ const alpha = result.stories.stories.find(
851
+ (s) => s.storyName === 'Story Alpha',
852
+ );
853
+ expect(alpha?.openItemCount).toBe(2);
854
+ });
855
+
856
+ it('exposes the storyOptionId from the project field option', () => {
857
+ const result = run([]);
858
+ const alpha = result.stories.stories.find(
859
+ (s) => s.storyName === 'Story Alpha',
860
+ );
861
+ expect(alpha?.storyOptionId).toBe('s2');
862
+ });
863
+
864
+ it('provides the nameWithOwner of the first issue as defaultNameWithOwner', () => {
865
+ const result = run([makeIssue({ nameWithOwner: 'demo/repo' })]);
866
+ expect(result.stories.defaultNameWithOwner).toBe('demo/repo');
867
+ });
868
+
869
+ it('sets defaultNameWithOwner to null when no issues are present', () => {
870
+ const result = run([]);
871
+ expect(result.stories.defaultNameWithOwner).toBeNull();
872
+ });
873
+
874
+ it('preserves the storyOrder in the stories tab', () => {
875
+ const result = run([]);
876
+ expect(result.stories.storyOrder).toEqual([
877
+ 'regular / NO STORY; SET STORY FIELD',
878
+ 'Story Alpha',
879
+ 'Story Beta',
880
+ ]);
881
+ });
882
+
883
+ it('produces an empty stories list when the project has no story field', () => {
884
+ const result = run([], baseProject(null));
885
+ expect(result.stories.stories).toEqual([]);
886
+ });
887
+ });
803
888
  });
@@ -59,7 +59,24 @@ export type ConsoleTabName =
59
59
  | 'unread'
60
60
  | 'failed-preparation'
61
61
  | 'todo-by-human'
62
- | 'todo-by-agent';
62
+ | 'todo-by-agent'
63
+ | 'stories';
64
+
65
+ export type ConsoleStoryEntry = {
66
+ storyName: string;
67
+ storyOptionId: string;
68
+ color: ConsoleColor;
69
+ openItemCount: number;
70
+ };
71
+
72
+ export type ConsoleStoriesTab = {
73
+ pjcode: string;
74
+ generatedAt: string;
75
+ stories: ConsoleStoryEntry[];
76
+ storyOrder: string[];
77
+ storyColors: Record<string, { color: ConsoleColor }>;
78
+ defaultNameWithOwner: string | null;
79
+ };
63
80
 
64
81
  export type ConsoleLists = {
65
82
  'workflow-blocker': ConsoleStatusTab;
@@ -69,6 +86,7 @@ export type ConsoleLists = {
69
86
  'failed-preparation': ConsoleStatusTab;
70
87
  'todo-by-human': ConsoleStatusTab;
71
88
  'todo-by-agent': ConsoleStatusTab;
89
+ stories: ConsoleStoriesTab;
72
90
  };
73
91
 
74
92
  export type GenerateConsoleListsInput = {
@@ -139,6 +157,28 @@ export class GenerateConsoleListsUseCase {
139
157
  ): ConsoleStatusTab =>
140
158
  buildStatusTabFromSource(actionableIssues, selector, excludedStatusNames);
141
159
 
160
+ const openItemCountByStory = new Map<string, number>();
161
+ for (const issue of issues) {
162
+ if (!issue.isClosed && issue.story !== null) {
163
+ openItemCountByStory.set(
164
+ issue.story,
165
+ (openItemCountByStory.get(issue.story) ?? 0) + 1,
166
+ );
167
+ }
168
+ }
169
+
170
+ const defaultNameWithOwner =
171
+ issues.find((issue) => issue.nameWithOwner !== '')?.nameWithOwner ?? null;
172
+
173
+ const storyEntries: ConsoleStoryEntry[] = storyOptions
174
+ .filter((option) => option.color !== 'GRAY')
175
+ .map((option) => ({
176
+ storyName: option.name,
177
+ storyOptionId: option.id,
178
+ color: option.color,
179
+ openItemCount: openItemCountByStory.get(option.name) ?? 0,
180
+ }));
181
+
142
182
  return {
143
183
  'workflow-blocker': buildStatusTabFromSource(
144
184
  issues.filter((issue) => issue.isClosed === false),
@@ -197,6 +237,14 @@ export class GenerateConsoleListsUseCase {
197
237
  storyOrder,
198
238
  ),
199
239
  },
240
+ stories: {
241
+ pjcode,
242
+ generatedAt,
243
+ stories: storyEntries,
244
+ storyOrder,
245
+ storyColors: this.buildStoryColorsObject(storyOptions),
246
+ defaultNameWithOwner,
247
+ },
200
248
  };
201
249
  };
202
250
 
@@ -26,6 +26,7 @@ export declare const handleReview: (context: ConsoleOperationContext, body: Reco
26
26
  export declare const handleTriage: (context: ConsoleOperationContext, body: Record<string, unknown>) => Promise<ConsoleOperationResponse>;
27
27
  export declare const handleComment: (context: ConsoleOperationContext, body: Record<string, unknown>) => Promise<ConsoleOperationResponse>;
28
28
  export declare const handleAttachmentUpload: (context: ConsoleOperationContext, body: Record<string, unknown>) => Promise<ConsoleOperationResponse>;
29
+ export declare const handleCreateIssue: (context: ConsoleOperationContext, body: Record<string, unknown>) => Promise<ConsoleOperationResponse>;
29
30
  export declare const handleReviewComment: (context: ConsoleOperationContext, body: Record<string, unknown>) => Promise<ConsoleOperationResponse>;
30
31
  export declare const handleIntmux: (context: ConsoleOperationContext, body: Record<string, unknown>) => Promise<ConsoleOperationResponse>;
31
32
  //# sourceMappingURL=consoleOperationApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consoleOperationApi.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/consoleOperationApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEhB,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uEAAuE,CAAC;AAClH,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAU3D,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AACnE,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAC/D,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CACnC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;AAE3C,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;AAEjE,MAAM,MAAM,8BAA8B,GAAG,CAC3C,qBAAqB,EAAE,MAAM,KAC1B,eAAe,CAAC;AAErB,MAAM,MAAM,uBAAuB,GAAG;IACpC,sBAAsB,EAAE,8BAA8B,CAAC;IACvD,cAAc,EAAE,sBAAsB,CAAC;IACvC,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,yBAAyB,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AA8MF,eAAO,MAAM,YAAY,GACvB,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CAmJlC,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CA6FlC,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CA8BlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CA2ClC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CA6BlC,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CAiClC,CAAC"}
1
+ {"version":3,"file":"consoleOperationApi.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/consoleOperationApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEhB,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uEAAuE,CAAC;AAClH,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAU3D,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AACnE,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAC/D,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CACnC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;AAE3C,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;AAEjE,MAAM,MAAM,8BAA8B,GAAG,CAC3C,qBAAqB,EAAE,MAAM,KAC1B,eAAe,CAAC;AAErB,MAAM,MAAM,uBAAuB,GAAG;IACpC,sBAAsB,EAAE,8BAA8B,CAAC;IACvD,cAAc,EAAE,sBAAsB,CAAC;IACvC,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,yBAAyB,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AA8MF,eAAO,MAAM,YAAY,GACvB,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CAmJlC,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CA6FlC,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CA8BlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CA2ClC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CA0DlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CA6BlC,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,SAAS,uBAAuB,EAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,wBAAwB,CAiClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"consoleTabNames.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/consoleTabNames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAEnG,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAQlD,CAAC;AAOF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,EAAE,EAChB,YAAY,MAAM,EAAE,KACnB,OAAO,EAgBT,CAAC"}
1
+ {"version":3,"file":"consoleTabNames.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/consoleTabNames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAEnG,eAAO,MAAM,sBAAsB,EAAE,cAAc,EASlD,CAAC;AAOF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,EAAE,EAChB,YAAY,MAAM,EAAE,KACnB,OAAO,EAgBT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"webServer.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/webServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webServer.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/webServer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequiredProjectField.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/RequiredProjectField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;AAE7E,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,4BAA4B,CAAC;IACvC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;CACpC,CAAC;AA6BF,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAC9D,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAC9D,eAAO,MAAM,6BAA6B,0CACD,CAAC;AAC1C,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,eAAO,MAAM,uBAAuB,EAAE,8BAA8B,EA0BnE,CAAC"}
1
+ {"version":3,"file":"RequiredProjectField.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/RequiredProjectField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;AAE7E,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,4BAA4B,CAAC;IACvC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;CACpC,CAAC;AA6BF,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAC9D,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAC9D,eAAO,MAAM,6BAA6B,0CACD,CAAC;AAC1C,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,eAAO,MAAM,uBAAuB,EAAE,8BAA8B,EAqBnE,CAAC"}
@@ -17,7 +17,7 @@ export declare class NotifyFinishedIssuePreparationUseCase {
17
17
  private readonly consoleTabsRepository?;
18
18
  private readonly issueRejectionEvaluator;
19
19
  private readonly changeTargetPullRequestApprover;
20
- constructor(projectRepository: Pick<ProjectRepository, 'getByUrl' | 'updateAgentList'>, issueRepository: Pick<IssueRepository, 'get' | 'update' | 'updateStatus' | 'updateLabels' | 'getOrCreateLabel' | 'findRelatedOpenPRs' | 'getStoryObjectMap' | 'getOpenPullRequest' | 'getPullRequestChangedFilePaths' | 'approvePullRequest' | 'requestChangesWithInlineComment' | 'setDependedIssueUrl' | 'setIssueAgentField'>, issueCommentRepository: Pick<IssueCommentRepository, 'getCommentsFromIssue' | 'createComment'>, webhookRepository: Pick<WebhookRepository, 'sendGetRequest'>, consoleTabsRepository?: (ConsoleTabsRepository | null) | undefined);
20
+ constructor(projectRepository: Pick<ProjectRepository, 'getByUrl' | 'updateAgentList' | 'createField'>, issueRepository: Pick<IssueRepository, 'get' | 'update' | 'updateStatus' | 'updateLabels' | 'getOrCreateLabel' | 'findRelatedOpenPRs' | 'getStoryObjectMap' | 'getOpenPullRequest' | 'getPullRequestChangedFilePaths' | 'approvePullRequest' | 'requestChangesWithInlineComment' | 'setDependedIssueUrl' | 'setIssueAgentField'>, issueCommentRepository: Pick<IssueCommentRepository, 'getCommentsFromIssue' | 'createComment'>, webhookRepository: Pick<WebhookRepository, 'sendGetRequest'>, consoleTabsRepository?: (ConsoleTabsRepository | null) | undefined);
21
21
  run: (params: {
22
22
  projectUrl: string;
23
23
  issueUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AA0BnF,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;AAID,qBAAa,qCAAqC;IAK9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAgBhC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAIvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAhCzC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAkC;gBAG/D,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,UAAU,GAAG,iBAAiB,CAC/B,EACgB,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,KAAK,GACL,QAAQ,GACR,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,gCAAgC,GAChC,oBAAoB,GACpB,iCAAiC,GACjC,qBAAqB,GACrB,oBAAoB,CACvB,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC,EACgB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,gBAAgB,CACjB,EACgB,qBAAqB,CAAC,GAAE,qBAAqB,GAAG,IAAI,aAAA;IAQvE,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjD,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACtC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACvC,6BAA6B,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAChD,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QACxD,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KAC1B,KAAG,OAAO,CAAC,IAAI,CAAC,CAsRf;IAEF,OAAO,CAAC,eAAe,CAIgD;IAEvE,OAAO,CAAC,iBAAiB,CAkDvB;IAEF,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,gCAAgC,CAoBtC;IAEF,OAAO,CAAC,uBAAuB,CAQ7B;IAEF,OAAO,CAAC,+BAA+B,CAgCrC;IAEF,OAAO,CAAC,uBAAuB,CAO7B;IAEF,OAAO,CAAC,oBAAoB,CA0B1B;IAEF,OAAO,CAAC,yBAAyB,CA4B/B;IAEF,OAAO,CAAC,eAAe,CAmCrB;CACH"}
1
+ {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AA2BnF,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;AAID,qBAAa,qCAAqC;IAK9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAgBhC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAIvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAhCzC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAkC;gBAG/D,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,UAAU,GAAG,iBAAiB,GAAG,aAAa,CAC/C,EACgB,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,KAAK,GACL,QAAQ,GACR,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,gCAAgC,GAChC,oBAAoB,GACpB,iCAAiC,GACjC,qBAAqB,GACrB,oBAAoB,CACvB,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC,EACgB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,gBAAgB,CACjB,EACgB,qBAAqB,CAAC,GAAE,qBAAqB,GAAG,IAAI,aAAA;IAQvE,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjD,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACtC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACvC,6BAA6B,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAChD,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QACxD,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KAC1B,KAAG,OAAO,CAAC,IAAI,CAAC,CAsRf;IAEF,OAAO,CAAC,eAAe,CAIgD;IAEvE,OAAO,CAAC,iBAAiB,CAkDvB;IAEF,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,gCAAgC,CAoBtC;IAEF,OAAO,CAAC,uBAAuB,CAQ7B;IAEF,OAAO,CAAC,+BAA+B,CAgCrC;IAEF,OAAO,CAAC,uBAAuB,CAO7B;IAEF,OAAO,CAAC,oBAAoB,CA0B1B;IAEF,OAAO,CAAC,yBAAyB,CAqC/B;IAEF,OAAO,CAAC,eAAe,CAmCrB;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectRequiredFieldCreateUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/ProjectRequiredFieldCreateUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAO3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAM3E,qBAAa,iCAAiC;IAE1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACf,UAAU,GACV,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,iBAAiB,CACpB;IAGH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KAC1B,KAAG,OAAO,CAAC,IAAI,CAAC,CAQf;IAEF,OAAO,CAAC,mBAAmB,CAYzB;IAEF,OAAO,CAAC,qBAAqB,CAmC3B;IAEF,qBAAqB,GACnB,SAAS,OAAO,EAChB,YAAY,MAAM,EAAE,GAAG,IAAI,KAC1B,OAAO,CAAC,IAAI,CAAC,CAwBd;IAEF,OAAO,CAAC,mBAAmB,CAMvB;IAEJ,MAAM,CAAC,QAAQ,CAAC,gBAAgB,WAAoB;CACrD"}
1
+ {"version":3,"file":"ProjectRequiredFieldCreateUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/ProjectRequiredFieldCreateUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAO3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAM3E,qBAAa,iCAAiC;IAE1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACf,UAAU,GACV,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,iBAAiB,CACpB;IAGH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KAC1B,KAAG,OAAO,CAAC,IAAI,CAAC,CAQf;IAEF,OAAO,CAAC,mBAAmB,CAYzB;IAEF,OAAO,CAAC,qBAAqB,CAmC3B;IAEF,qBAAqB,GACnB,SAAS,OAAO,EAChB,YAAY,MAAM,EAAE,GAAG,IAAI,KAC1B,OAAO,CAAC,IAAI,CAAC,CAoCd;IAEF,OAAO,CAAC,mBAAmB,CAMvB;IAEJ,MAAM,CAAC,QAAQ,CAAC,gBAAgB,WAAoB;CACrD"}
@@ -42,7 +42,23 @@ export type ConsoleTriageTab = {
42
42
  storyColors: Record<string, ConsoleColor>;
43
43
  items: ConsoleListItem[];
44
44
  };
45
- export type ConsoleTabName = 'workflow-blocker' | 'prs' | 'triage' | 'unread' | 'failed-preparation' | 'todo-by-human' | 'todo-by-agent';
45
+ export type ConsoleTabName = 'workflow-blocker' | 'prs' | 'triage' | 'unread' | 'failed-preparation' | 'todo-by-human' | 'todo-by-agent' | 'stories';
46
+ export type ConsoleStoryEntry = {
47
+ storyName: string;
48
+ storyOptionId: string;
49
+ color: ConsoleColor;
50
+ openItemCount: number;
51
+ };
52
+ export type ConsoleStoriesTab = {
53
+ pjcode: string;
54
+ generatedAt: string;
55
+ stories: ConsoleStoryEntry[];
56
+ storyOrder: string[];
57
+ storyColors: Record<string, {
58
+ color: ConsoleColor;
59
+ }>;
60
+ defaultNameWithOwner: string | null;
61
+ };
46
62
  export type ConsoleLists = {
47
63
  'workflow-blocker': ConsoleStatusTab;
48
64
  prs: ConsoleStatusTab;
@@ -51,6 +67,7 @@ export type ConsoleLists = {
51
67
  'failed-preparation': ConsoleStatusTab;
52
68
  'todo-by-human': ConsoleStatusTab;
53
69
  'todo-by-agent': ConsoleStatusTab;
70
+ stories: ConsoleStoriesTab;
54
71
  };
55
72
  export type GenerateConsoleListsInput = {
56
73
  project: Project;
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateConsoleListsUseCase.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/console/GenerateConsoleListsUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenerateConsoleListsUseCase.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/console/GenerateConsoleListsUseCase.ts"],"names":[],"mappings":"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"}