github-issue-tower-defence-management 1.184.0 → 1.185.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +4 -4
- package/bin/adapter/entry-points/cli/index.js +31 -29
- package/bin/adapter/entry-points/cli/index.js.map +1 -1
- package/bin/adapter/entry-points/console/consoleOperationApi.js +26 -2
- package/bin/adapter/entry-points/console/consoleOperationApi.js.map +1 -1
- package/bin/adapter/entry-points/console/consoleProjectResolver.js +5 -1
- package/bin/adapter/entry-points/console/consoleProjectResolver.js.map +1 -1
- package/bin/adapter/entry-points/console/ui-dist/assets/index-DQT4HL0G.js +86 -0
- package/bin/adapter/entry-points/console/ui-dist/index.html +1 -1
- package/bin/adapter/entry-points/console/webServer.js +4 -0
- package/bin/adapter/entry-points/console/webServer.js.map +1 -1
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +3 -1
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
- package/bin/domain/entities/Project.js +17 -0
- package/bin/domain/entities/Project.js.map +1 -1
- package/bin/domain/usecases/CreateNewStoryByLabelUseCase.js +5 -16
- package/bin/domain/usecases/CreateNewStoryByLabelUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter/entry-points/cli/index.ts +57 -52
- package/src/adapter/entry-points/console/consoleOperationApi.test.ts +242 -12
- package/src/adapter/entry-points/console/consoleOperationApi.ts +43 -7
- package/src/adapter/entry-points/console/consoleProjectResolver.test.ts +30 -10
- package/src/adapter/entry-points/console/consoleProjectResolver.ts +13 -2
- package/src/adapter/entry-points/console/ui/e2e/consoleScenario.spec.ts +37 -2
- package/src/adapter/entry-points/console/ui/e2e/consoleTestHarness.ts +20 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryList.stories.tsx +4 -1
- package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryList.test.tsx +127 -8
- package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryList.tsx +119 -71
- package/src/adapter/entry-points/console/ui/src/features/console/lib/consoleApi.test.ts +26 -0
- package/src/adapter/entry-points/console/ui/src/features/console/lib/consoleApi.ts +20 -0
- package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.tsx +12 -0
- package/src/adapter/entry-points/console/ui-dist/assets/index-DQT4HL0G.js +86 -0
- package/src/adapter/entry-points/console/ui-dist/index.html +1 -1
- package/src/adapter/entry-points/console/webServer.test.ts +74 -0
- package/src/adapter/entry-points/console/webServer.ts +8 -0
- package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.test.ts +38 -1
- package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +3 -1
- package/src/domain/entities/Project.ts +23 -0
- package/src/domain/usecases/CreateNewStoryByLabelUseCase.ts +16 -34
- package/types/adapter/entry-points/cli/index.d.ts +1 -1
- package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
- package/types/adapter/entry-points/console/consoleOperationApi.d.ts +8 -3
- package/types/adapter/entry-points/console/consoleOperationApi.d.ts.map +1 -1
- package/types/adapter/entry-points/console/consoleProjectResolver.d.ts +5 -1
- package/types/adapter/entry-points/console/consoleProjectResolver.d.ts.map +1 -1
- package/types/adapter/entry-points/console/webServer.d.ts +3 -1
- package/types/adapter/entry-points/console/webServer.d.ts.map +1 -1
- package/types/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.d.ts.map +1 -1
- package/types/domain/entities/Project.d.ts +4 -0
- package/types/domain/entities/Project.d.ts.map +1 -1
- package/types/domain/usecases/CreateNewStoryByLabelUseCase.d.ts +6 -8
- package/types/domain/usecases/CreateNewStoryByLabelUseCase.d.ts.map +1 -1
- package/bin/adapter/entry-points/console/ui-dist/assets/index-CMrnEYO1.js +0 -86
- package/src/adapter/entry-points/console/ui-dist/assets/index-CMrnEYO1.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-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-DQT4HL0G.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-8Ni5iu-C.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
@@ -1107,6 +1107,80 @@ describe('webServer new routes integration', () => {
|
|
|
1107
1107
|
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
1108
1108
|
}
|
|
1109
1109
|
});
|
|
1110
|
+
|
|
1111
|
+
it('routes POST /api/addstory to handleStoryAdd and calls updateStoryList', async () => {
|
|
1112
|
+
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'console-server-'));
|
|
1113
|
+
const updateStoryList = jest.fn().mockResolvedValue([]);
|
|
1114
|
+
const projectWithStory: Project = {
|
|
1115
|
+
...mock<Project>(),
|
|
1116
|
+
id: 'PVT_1',
|
|
1117
|
+
url: 'https://github.com/orgs/acme-labs/projects/1',
|
|
1118
|
+
status: {
|
|
1119
|
+
name: 'Status',
|
|
1120
|
+
fieldId: 'statusField',
|
|
1121
|
+
statuses: [
|
|
1122
|
+
{
|
|
1123
|
+
id: 'status_aw',
|
|
1124
|
+
name: 'Awaiting workspace',
|
|
1125
|
+
color: 'GRAY',
|
|
1126
|
+
description: '',
|
|
1127
|
+
},
|
|
1128
|
+
],
|
|
1129
|
+
},
|
|
1130
|
+
story: {
|
|
1131
|
+
name: 'Story',
|
|
1132
|
+
fieldId: 'storyField',
|
|
1133
|
+
databaseId: 1,
|
|
1134
|
+
stories: [
|
|
1135
|
+
{
|
|
1136
|
+
id: 'opt_blue',
|
|
1137
|
+
name: 'Existing story',
|
|
1138
|
+
color: 'BLUE',
|
|
1139
|
+
description: '',
|
|
1140
|
+
},
|
|
1141
|
+
],
|
|
1142
|
+
workflowManagementStory: { id: 'wms', name: 'workflow' },
|
|
1143
|
+
},
|
|
1144
|
+
};
|
|
1145
|
+
const issueRepository = mock<IssueRepository>();
|
|
1146
|
+
const server = await startWebServer({
|
|
1147
|
+
accessToken: testToken,
|
|
1148
|
+
uiDistDir: path.join(tmpDir, 'ui-dist'),
|
|
1149
|
+
consoleDataOutputDir: null,
|
|
1150
|
+
inTmuxDataDir: null,
|
|
1151
|
+
dashboardDir: null,
|
|
1152
|
+
dashboardDataDir: null,
|
|
1153
|
+
dashboardProjectNames: [],
|
|
1154
|
+
issueRepository,
|
|
1155
|
+
resolveProject: async (pjcode) =>
|
|
1156
|
+
pjcode === 'acme' ? { pjcode, project: projectWithStory } : null,
|
|
1157
|
+
isPjcodeConfigured: (pjcode) => pjcode === 'acme',
|
|
1158
|
+
resolveProjectRepository: () => ({ updateStoryList }),
|
|
1159
|
+
port: 0,
|
|
1160
|
+
});
|
|
1161
|
+
try {
|
|
1162
|
+
const response = await request(
|
|
1163
|
+
server,
|
|
1164
|
+
'POST',
|
|
1165
|
+
`/api/addstory?k=${testToken}`,
|
|
1166
|
+
{ pjcode: 'acme', storyName: 'My new story' },
|
|
1167
|
+
);
|
|
1168
|
+
expect(response.statusCode).toBe(200);
|
|
1169
|
+
expect(JSON.parse(response.body)).toEqual({ ok: true });
|
|
1170
|
+
expect(updateStoryList).toHaveBeenCalledWith(projectWithStory, [
|
|
1171
|
+
{
|
|
1172
|
+
id: 'opt_blue',
|
|
1173
|
+
name: 'Existing story',
|
|
1174
|
+
color: 'BLUE',
|
|
1175
|
+
description: '',
|
|
1176
|
+
},
|
|
1177
|
+
{ id: null, name: 'My new story', color: 'RED', description: '' },
|
|
1178
|
+
]);
|
|
1179
|
+
} finally {
|
|
1180
|
+
await closeServer(server);
|
|
1181
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
1182
|
+
}
|
|
1183
|
+
});
|
|
1110
1184
|
});
|
|
1111
1185
|
|
|
1112
1186
|
describe('resolveFlatInTmuxFilePath', () => {
|
|
@@ -24,7 +24,9 @@ import {
|
|
|
24
24
|
ConsoleIssueRepositoryResolver,
|
|
25
25
|
ConsoleOperationContext,
|
|
26
26
|
ConsolePjcodeValidator,
|
|
27
|
+
ConsoleProjectRepositoryResolver,
|
|
27
28
|
ConsoleProjectResolver,
|
|
29
|
+
handleStoryAdd,
|
|
28
30
|
handleAttachmentUpload,
|
|
29
31
|
handleComment,
|
|
30
32
|
handleCreateIssue,
|
|
@@ -233,6 +235,8 @@ export type WebServerOptions = {
|
|
|
233
235
|
resolveIssueRepository?: ConsoleIssueRepositoryResolver | null;
|
|
234
236
|
resolveProject?: ConsoleProjectResolver | null;
|
|
235
237
|
isPjcodeConfigured?: ConsolePjcodeValidator | null;
|
|
238
|
+
resolveProjectRepository?: ConsoleProjectRepositoryResolver | null;
|
|
239
|
+
invalidateProject?: ((pjcode: string) => void) | null;
|
|
236
240
|
issueAttachmentRepository?: IssueAttachmentRepository | null;
|
|
237
241
|
projectRepository?: Pick<ProjectRepository, 'updateStoryList'> | null;
|
|
238
242
|
issueTitleStateCache?: IssueTitleStateCache | null;
|
|
@@ -540,6 +544,8 @@ const dispatchOperation = (
|
|
|
540
544
|
return handleCreateIssue(context, body);
|
|
541
545
|
case '/api/reorderstory':
|
|
542
546
|
return handleReorderStory(context, body);
|
|
547
|
+
case '/api/addstory':
|
|
548
|
+
return handleStoryAdd(context, body);
|
|
543
549
|
default:
|
|
544
550
|
return null;
|
|
545
551
|
}
|
|
@@ -574,6 +580,8 @@ const handleOperationApi = async (
|
|
|
574
580
|
? (project, stories) =>
|
|
575
581
|
projectRepository.updateStoryList(project, stories)
|
|
576
582
|
: null,
|
|
583
|
+
resolveProjectRepository: options.resolveProjectRepository ?? null,
|
|
584
|
+
invalidateProject: options.invalidateProject ?? null,
|
|
577
585
|
};
|
|
578
586
|
const dispatched = dispatchOperation(context, requestPath, body);
|
|
579
587
|
if (dispatched === null) {
|
|
@@ -498,7 +498,7 @@ allowedIssueAuthors: 'user1, user2, user3'
|
|
|
498
498
|
});
|
|
499
499
|
});
|
|
500
500
|
|
|
501
|
-
it('should default autoAssignManagerAuthors to null when omitted from the YAML config', async () => {
|
|
501
|
+
it('should default autoAssignManagerAuthors to null when omitted from the YAML config and allowedIssueAuthors is also absent', async () => {
|
|
502
502
|
mockFetchReturningReadme(null);
|
|
503
503
|
jest.mocked(fs.readFileSync).mockReturnValue(YAML.stringify(validConfig));
|
|
504
504
|
|
|
@@ -510,6 +510,43 @@ allowedIssueAuthors: 'user1, user2, user3'
|
|
|
510
510
|
});
|
|
511
511
|
});
|
|
512
512
|
|
|
513
|
+
it('should fall back to allowedIssueAuthors for autoAssignManagerAuthors when autoAssignManagerAuthors is omitted', async () => {
|
|
514
|
+
mockFetchReturningReadme(null);
|
|
515
|
+
const configWithAllowedIssueAuthors = {
|
|
516
|
+
...validConfig,
|
|
517
|
+
allowedIssueAuthors: ['HiromiShikata', 'umino-bot'],
|
|
518
|
+
};
|
|
519
|
+
jest
|
|
520
|
+
.mocked(fs.readFileSync)
|
|
521
|
+
.mockReturnValue(YAML.stringify(configWithAllowedIssueAuthors));
|
|
522
|
+
|
|
523
|
+
const handler = new HandleScheduledEventUseCaseHandler();
|
|
524
|
+
await handler.handle('config.yml', false);
|
|
525
|
+
|
|
526
|
+
expect(capturedRunInputs[0][0]).toMatchObject({
|
|
527
|
+
autoAssignManagerAuthors: ['HiromiShikata', 'umino-bot'],
|
|
528
|
+
});
|
|
529
|
+
});
|
|
530
|
+
|
|
531
|
+
it('should prefer explicit autoAssignManagerAuthors over allowedIssueAuthors fallback', async () => {
|
|
532
|
+
mockFetchReturningReadme(null);
|
|
533
|
+
const configWithBothAuthors = {
|
|
534
|
+
...validConfig,
|
|
535
|
+
allowedIssueAuthors: ['HiromiShikata', 'umino-bot'],
|
|
536
|
+
autoAssignManagerAuthors: ['trusted-bot'],
|
|
537
|
+
};
|
|
538
|
+
jest
|
|
539
|
+
.mocked(fs.readFileSync)
|
|
540
|
+
.mockReturnValue(YAML.stringify(configWithBothAuthors));
|
|
541
|
+
|
|
542
|
+
const handler = new HandleScheduledEventUseCaseHandler();
|
|
543
|
+
await handler.handle('config.yml', false);
|
|
544
|
+
|
|
545
|
+
expect(capturedRunInputs[0][0]).toMatchObject({
|
|
546
|
+
autoAssignManagerAuthors: ['trusted-bot'],
|
|
547
|
+
});
|
|
548
|
+
});
|
|
549
|
+
|
|
513
550
|
it('should split comma-separated autoAssignManagerAuthors from README config', async () => {
|
|
514
551
|
const readmeContent = `<details>
|
|
515
552
|
<summary>config</summary>
|
|
@@ -290,7 +290,9 @@ export class HandleScheduledEventUseCaseHandler {
|
|
|
290
290
|
input.allowedIssueAuthors,
|
|
291
291
|
),
|
|
292
292
|
autoAssignManagerAuthors: normalizeAllowedIssueAuthors(
|
|
293
|
-
readmeConfig.autoAssignManagerAuthors ??
|
|
293
|
+
readmeConfig.autoAssignManagerAuthors ??
|
|
294
|
+
input.autoAssignManagerAuthors ??
|
|
295
|
+
input.allowedIssueAuthors,
|
|
294
296
|
),
|
|
295
297
|
claudeCodeOauthTokenListJsonPath:
|
|
296
298
|
readmeConfig.claudeCodeOauthTokenListJsonPath ??
|
|
@@ -6,6 +6,29 @@ export type FieldOption = {
|
|
|
6
6
|
'GRAY' | 'BLUE' | 'GREEN' | 'YELLOW' | 'ORANGE' | 'RED' | 'PINK' | 'PURPLE';
|
|
7
7
|
description: string;
|
|
8
8
|
};
|
|
9
|
+
|
|
10
|
+
export type StoryListEntry = Omit<FieldOption, 'id'> & {
|
|
11
|
+
id: FieldOption['id'] | null;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const buildStoryListWithNew = (
|
|
15
|
+
existingStories: StoryListEntry[],
|
|
16
|
+
newName: string,
|
|
17
|
+
): StoryListEntry[] => {
|
|
18
|
+
if (existingStories.some((s) => s.name === newName)) {
|
|
19
|
+
return [...existingStories];
|
|
20
|
+
}
|
|
21
|
+
const newEntry: StoryListEntry = {
|
|
22
|
+
id: null,
|
|
23
|
+
name: newName,
|
|
24
|
+
color: 'RED',
|
|
25
|
+
description: '',
|
|
26
|
+
};
|
|
27
|
+
if (existingStories.length === 0) {
|
|
28
|
+
return [newEntry];
|
|
29
|
+
}
|
|
30
|
+
return [existingStories[0], newEntry, ...existingStories.slice(1)];
|
|
31
|
+
};
|
|
9
32
|
export type Project = {
|
|
10
33
|
id: string;
|
|
11
34
|
url: string;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import type { Issue } from '../entities/Issue';
|
|
2
|
+
import {
|
|
3
|
+
buildStoryListWithNew,
|
|
4
|
+
type Project,
|
|
5
|
+
type StoryListEntry,
|
|
6
|
+
} from '../entities/Project';
|
|
7
|
+
import type { StoryObjectMap } from '../entities/StoryObjectMap';
|
|
8
|
+
import type { IssueRepository } from './adapter-interfaces/IssueRepository';
|
|
9
|
+
import type { ProjectRepository } from './adapter-interfaces/ProjectRepository';
|
|
6
10
|
|
|
7
11
|
const LOG_PREFIX = '[CreateNewStoryByLabel]';
|
|
8
12
|
|
|
@@ -130,35 +134,13 @@ export class CreateNewStoryByLabelUseCase {
|
|
|
130
134
|
projectStory: NonNullable<Project['story']>,
|
|
131
135
|
storyObjectMap: StoryObjectMap,
|
|
132
136
|
issues: Issue[],
|
|
133
|
-
):
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
).filter((issue) => !existingStoryNames.has(issue.title));
|
|
141
|
-
const newStoryList: (Omit<FieldOption, 'id'> & {
|
|
142
|
-
id: FieldOption['id'] | null;
|
|
143
|
-
})[] = [];
|
|
144
|
-
if (projectStory.stories.length > 0) {
|
|
145
|
-
newStoryList.push(projectStory.stories[0]);
|
|
146
|
-
}
|
|
147
|
-
newStoryList.push(
|
|
148
|
-
...newStoryIssues.map(
|
|
149
|
-
(i): Omit<FieldOption, 'id'> & { id: FieldOption['id'] | null } => ({
|
|
150
|
-
id: null,
|
|
151
|
-
name: i.title,
|
|
152
|
-
color: 'RED',
|
|
153
|
-
description: '',
|
|
154
|
-
}),
|
|
155
|
-
),
|
|
156
|
-
);
|
|
157
|
-
if (projectStory.stories.length > 1) {
|
|
158
|
-
newStoryList.push(
|
|
159
|
-
...projectStory.stories.slice(1, projectStory.stories.length),
|
|
137
|
+
): StoryListEntry[] => {
|
|
138
|
+
const newStoryIssues = this.findNewStoryIssues(storyObjectMap, issues);
|
|
139
|
+
return [...newStoryIssues]
|
|
140
|
+
.reverse()
|
|
141
|
+
.reduce<StoryListEntry[]>(
|
|
142
|
+
(acc, issue) => buildStoryListWithNew(acc, issue.title),
|
|
143
|
+
[...projectStory.stories],
|
|
160
144
|
);
|
|
161
|
-
}
|
|
162
|
-
return newStoryList;
|
|
163
145
|
};
|
|
164
146
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
-
export { ConfigFile,
|
|
3
|
+
export { ConfigFile, fetchProjectReadme, loadConfigFile, mergeConfigs, parseProjectReadmeConfig, } from './projectConfig';
|
|
4
4
|
export declare const program: Command;
|
|
5
5
|
export declare const reportFatalErrorAndExit: (error: unknown) => void;
|
|
6
6
|
export declare const runCliProgram: (argv: string[], handleFatalError: (error: unknown) => void) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAmMzB,eAAO,MAAM,OAAO,SAAgB,CAAC;AAuiCrC,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,IAGxD,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EAAE,EACd,kBAAkB,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KACzC,OAAO,CAAC,IAAI,CAMd,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IssueAttachmentRepository } from '../../../domain/usecases/adapter-interfaces/IssueAttachmentRepository';
|
|
3
|
-
import {
|
|
1
|
+
import { type FieldOption, type Project } from '../../../domain/entities/Project';
|
|
2
|
+
import type { IssueAttachmentRepository } from '../../../domain/usecases/adapter-interfaces/IssueAttachmentRepository';
|
|
3
|
+
import type { IssueRepository } from '../../../domain/usecases/adapter-interfaces/IssueRepository';
|
|
4
|
+
import type { ProjectRepository } from '../../../domain/usecases/adapter-interfaces/ProjectRepository';
|
|
4
5
|
export declare const AWAITING_WORKSPACE_STATUS_NAME = "awaiting workspace";
|
|
5
6
|
export declare const IN_TMUX_BY_HUMAN_STATUS_NAME = "in tmux by human";
|
|
6
7
|
export declare const CHORE_LABEL_NAME = "chore";
|
|
@@ -11,6 +12,7 @@ export type ConsoleProjectBinding = {
|
|
|
11
12
|
export type ConsoleProjectResolver = (pjcode: string) => Promise<ConsoleProjectBinding | null>;
|
|
12
13
|
export type ConsolePjcodeValidator = (pjcode: string) => boolean;
|
|
13
14
|
export type ConsoleIssueRepositoryResolver = (issueOrPullRequestUrl: string) => IssueRepository;
|
|
15
|
+
export type ConsoleProjectRepositoryResolver = (projectUrl: string) => Pick<ProjectRepository, 'updateStoryList'>;
|
|
14
16
|
export type ConsoleOperationContext = {
|
|
15
17
|
resolveIssueRepository: ConsoleIssueRepositoryResolver;
|
|
16
18
|
resolveProject: ConsoleProjectResolver;
|
|
@@ -18,6 +20,8 @@ export type ConsoleOperationContext = {
|
|
|
18
20
|
consoleDataOutputDir: string | null;
|
|
19
21
|
issueAttachmentRepository: IssueAttachmentRepository | null;
|
|
20
22
|
updateStoryList: ((project: Project, stories: FieldOption[]) => Promise<FieldOption[]>) | null;
|
|
23
|
+
resolveProjectRepository: ConsoleProjectRepositoryResolver | null;
|
|
24
|
+
invalidateProject: ((pjcode: string) => void) | null;
|
|
21
25
|
};
|
|
22
26
|
export type ConsoleOperationResponse = {
|
|
23
27
|
statusCode: number;
|
|
@@ -31,4 +35,5 @@ export declare const handleCreateIssue: (context: ConsoleOperationContext, body:
|
|
|
31
35
|
export declare const handleReviewComment: (context: ConsoleOperationContext, body: Record<string, unknown>) => Promise<ConsoleOperationResponse>;
|
|
32
36
|
export declare const handleIntmux: (context: ConsoleOperationContext, body: Record<string, unknown>) => Promise<ConsoleOperationResponse>;
|
|
33
37
|
export declare const handleReorderStory: (context: ConsoleOperationContext, body: Record<string, unknown>) => Promise<ConsoleOperationResponse>;
|
|
38
|
+
export declare const handleStoryAdd: (context: ConsoleOperationContext, body: Record<string, unknown>) => Promise<ConsoleOperationResponse>;
|
|
34
39
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"consoleOperationApi.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/consoleOperationApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,9 @@ export type ConsoleProjectIdAndProjectReader = {
|
|
|
8
8
|
export declare const createConsoleProjectLoader: (resolveProjectRepository: (projectUrl: string) => ConsoleProjectIdAndProjectReader, getCachedProject: (projectId: string) => Promise<Project | null>, reportLoadFailure: (message: string) => void) => ConsoleProjectLoader;
|
|
9
9
|
export declare const buildPjcodeToProjectUrl: (defaultPjcode: string, defaultProjectUrl: string, consoleProjects: Record<string, string> | null) => Record<string, string>;
|
|
10
10
|
export declare const createPjcodeConfigChecker: (pjcodeToProjectUrl: Record<string, string>) => ConsolePjcodeValidator;
|
|
11
|
-
export
|
|
11
|
+
export type ConsoleProjectResolverBundle = {
|
|
12
|
+
resolve: ConsoleProjectResolver;
|
|
13
|
+
invalidate: (pjcode: string) => void;
|
|
14
|
+
};
|
|
15
|
+
export declare const createConsoleProjectResolver: (pjcodeToProjectUrl: Record<string, string>, loadProject: ConsoleProjectLoader) => ConsoleProjectResolverBundle;
|
|
12
16
|
//# sourceMappingURL=consoleProjectResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consoleProjectResolver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/consoleProjectResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EACL,sBAAsB,EAEtB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,oBAAoB,GAAG,CACjC,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AAE7B,MAAM,MAAM,gCAAgC,GAAG;IAC7C,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnE,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,0BAA0B,CACxB,UAAU,EAAE,MAAM,KACf,gCAAgC,EACrC,kBAAkB,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAChE,mBAAmB,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAC3C,oBAmBF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,eAAe,MAAM,EACrB,mBAAmB,MAAM,EACzB,iBAAiB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,KAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,CAWvB,CAAC;AAKF,eAAO,MAAM,yBAAyB,GACpC,oBAAoB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACzC,sBAGF,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,oBAAoB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1C,aAAa,oBAAoB,KAChC,
|
|
1
|
+
{"version":3,"file":"consoleProjectResolver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/consoleProjectResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EACL,sBAAsB,EAEtB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,oBAAoB,GAAG,CACjC,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AAE7B,MAAM,MAAM,gCAAgC,GAAG;IAC7C,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnE,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,0BAA0B,CACxB,UAAU,EAAE,MAAM,KACf,gCAAgC,EACrC,kBAAkB,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAChE,mBAAmB,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAC3C,oBAmBF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,eAAe,MAAM,EACrB,mBAAmB,MAAM,EACzB,iBAAiB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,KAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,CAWvB,CAAC;AAKF,eAAO,MAAM,yBAAyB,GACpC,oBAAoB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACzC,sBAGF,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,sBAAsB,CAAC;IAChC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,oBAAoB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1C,aAAa,oBAAoB,KAChC,4BAyBF,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { IssueAttachmentRepository } from '../../../domain/usecases/adapter-inte
|
|
|
3
3
|
import { IssueRepository } from '../../../domain/usecases/adapter-interfaces/IssueRepository';
|
|
4
4
|
import { ProjectRepository } from '../../../domain/usecases/adapter-interfaces/ProjectRepository';
|
|
5
5
|
import { IssueTitleStateCache, PullRequestStatusCache } from './consoleReadApi';
|
|
6
|
-
import { ConsoleIssueRepositoryResolver, ConsolePjcodeValidator, ConsoleProjectResolver } from './consoleOperationApi';
|
|
6
|
+
import { ConsoleIssueRepositoryResolver, ConsolePjcodeValidator, ConsoleProjectRepositoryResolver, ConsoleProjectResolver } from './consoleOperationApi';
|
|
7
7
|
import { ImageFetcher } from './consoleImageProxy';
|
|
8
8
|
import { ConsoleGithubTokenResolver } from './consoleGithubTokenResolver';
|
|
9
9
|
export declare const DEFAULT_WEB_PORT = 9980;
|
|
@@ -32,6 +32,8 @@ export type WebServerOptions = {
|
|
|
32
32
|
resolveIssueRepository?: ConsoleIssueRepositoryResolver | null;
|
|
33
33
|
resolveProject?: ConsoleProjectResolver | null;
|
|
34
34
|
isPjcodeConfigured?: ConsolePjcodeValidator | null;
|
|
35
|
+
resolveProjectRepository?: ConsoleProjectRepositoryResolver | null;
|
|
36
|
+
invalidateProject?: ((pjcode: string) => void) | null;
|
|
35
37
|
issueAttachmentRepository?: IssueAttachmentRepository | null;
|
|
36
38
|
projectRepository?: Pick<ProjectRepository, 'updateStoryList'> | null;
|
|
37
39
|
issueTitleStateCache?: IssueTitleStateCache | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webServer.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/webServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uEAAuE,CAAC;AAClH,OAAO,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAC;AAMlG,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EAQvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,8BAA8B,EAE9B,sBAAsB,EACtB,sBAAsB,
|
|
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":"HandleScheduledEventUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAwD3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,EACjB,6BAA4B,MAAM,EAAE,GAAG,IAAW,KACjD,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,eAAe,EAAE,IAAI,EAAE,CAAC;KACzB,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"HandleScheduledEventUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAwD3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,EACjB,6BAA4B,MAAM,EAAE,GAAG,IAAW,KACjD,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,eAAe,EAAE,IAAI,EAAE,CAAC;KACzB,GAAG,IAAI,CAAC,CA8yBP;CACH"}
|
|
@@ -5,6 +5,10 @@ export type FieldOption = {
|
|
|
5
5
|
color: 'GRAY' | 'BLUE' | 'GREEN' | 'YELLOW' | 'ORANGE' | 'RED' | 'PINK' | 'PURPLE';
|
|
6
6
|
description: string;
|
|
7
7
|
};
|
|
8
|
+
export type StoryListEntry = Omit<FieldOption, 'id'> & {
|
|
9
|
+
id: FieldOption['id'] | null;
|
|
10
|
+
};
|
|
11
|
+
export declare const buildStoryListWithNew: (existingStories: StoryListEntry[], newName: string) => StoryListEntry[];
|
|
8
12
|
export type Project = {
|
|
9
13
|
id: string;
|
|
10
14
|
url: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/Project.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AACtC,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EACH,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC9E,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;KACzB,CAAC;IACF,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,WAAW,EAAE,CAAC;QACvB,uBAAuB,EAAE;YACvB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,GAAG,IAAI,CAAC;IACT,0BAA0B,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,gCAAgC,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,iCAAiC,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,WAAW,EAAE,CAAC;KACxB,GAAG,IAAI,CAAC;CACV,CAAC"}
|
|
1
|
+
{"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/Project.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AACtC,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EACH,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC9E,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG;IACrD,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,iBAAiB,cAAc,EAAE,EACjC,SAAS,MAAM,KACd,cAAc,EAchB,CAAC;AACF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;KACzB,CAAC;IACF,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,WAAW,EAAE,CAAC;QACvB,uBAAuB,EAAE;YACvB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,GAAG,IAAI,CAAC;IACT,0BAA0B,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,gCAAgC,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,iCAAiC,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,WAAW,EAAE,CAAC;KACxB,GAAG,IAAI,CAAC;CACV,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { StoryObjectMap } from '../entities/StoryObjectMap';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import type { Issue } from '../entities/Issue';
|
|
2
|
+
import { type Project, type StoryListEntry } from '../entities/Project';
|
|
3
|
+
import type { StoryObjectMap } from '../entities/StoryObjectMap';
|
|
4
|
+
import type { IssueRepository } from './adapter-interfaces/IssueRepository';
|
|
5
|
+
import type { ProjectRepository } from './adapter-interfaces/ProjectRepository';
|
|
6
6
|
export declare class CreateNewStoryByLabelUseCase {
|
|
7
7
|
readonly projectRepository: Pick<ProjectRepository, 'updateStoryList'>;
|
|
8
8
|
readonly issueRepository: Pick<IssueRepository, 'updateLabels' | 'updateStory'>;
|
|
@@ -17,8 +17,6 @@ export declare class CreateNewStoryByLabelUseCase {
|
|
|
17
17
|
}) => Promise<void>;
|
|
18
18
|
hasNewStoryLabel: (issue: Issue) => boolean;
|
|
19
19
|
findNewStoryIssues: (storyObjectMap: StoryObjectMap, issues: Issue[]) => Issue[];
|
|
20
|
-
createNewStoryList: (projectStory: NonNullable<Project["story"]>, storyObjectMap: StoryObjectMap, issues: Issue[]) =>
|
|
21
|
-
id: FieldOption["id"] | null;
|
|
22
|
-
})[];
|
|
20
|
+
createNewStoryList: (projectStory: NonNullable<Project["story"]>, storyObjectMap: StoryObjectMap, issues: Issue[]) => StoryListEntry[];
|
|
23
21
|
}
|
|
24
22
|
//# sourceMappingURL=CreateNewStoryByLabelUseCase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateNewStoryByLabelUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/CreateNewStoryByLabelUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CreateNewStoryByLabelUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/CreateNewStoryByLabelUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAIhF,qBAAa,4BAA4B;IAErC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACtE,QAAQ,CAAC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,cAAc,GAAG,aAAa,CAC/B;gBAJQ,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,EAC7D,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,cAAc,GAAG,aAAa,CAC/B;IAGH,GAAG,GAAU,OAAO;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,cAAc,CAAC;QAC/B,MAAM,EAAE,KAAK,EAAE,CAAC;KACjB,KAAG,OAAO,CAAC,IAAI,CAAC,CA6Ef;IAEF,gBAAgB,GAAI,OAAO,KAAK,KAAG,OAAO,CAG7B;IAEb,kBAAkB,GAChB,gBAAgB,cAAc,EAC9B,QAAQ,KAAK,EAAE,KACd,KAAK,EAAE,CAeR;IAEF,kBAAkB,GAChB,cAAc,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAC3C,gBAAgB,cAAc,EAC9B,QAAQ,KAAK,EAAE,KACd,cAAc,EAAE,CAQjB;CACH"}
|