github-issue-tower-defence-management 2.7.0 → 2.8.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 (52) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/bin/adapter/entry-points/cli/index.js +3 -1
  3. package/bin/adapter/entry-points/cli/index.js.map +1 -1
  4. package/bin/adapter/entry-points/console/consoleAirplaneSnapshotApi.js +347 -0
  5. package/bin/adapter/entry-points/console/consoleAirplaneSnapshotApi.js.map +1 -0
  6. package/bin/adapter/entry-points/console/ui-dist/assets/index-DkMqSpkk.js +88 -0
  7. package/bin/adapter/entry-points/console/ui-dist/index.html +1 -1
  8. package/bin/adapter/entry-points/console/webServer.js +28 -0
  9. package/bin/adapter/entry-points/console/webServer.js.map +1 -1
  10. package/jest.config.js +1 -0
  11. package/package.json +1 -1
  12. package/src/adapter/entry-points/cli/index.ts +4 -1
  13. package/src/adapter/entry-points/console/consoleAirplaneSnapshotApi.test.ts +658 -0
  14. package/src/adapter/entry-points/console/consoleAirplaneSnapshotApi.ts +482 -0
  15. package/src/adapter/entry-points/console/ui/jest-globals.cjs +26 -0
  16. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFileDiff.test.tsx +10 -0
  17. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFileDiff.tsx +23 -16
  18. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.stories.tsx +56 -0
  19. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.test.tsx +111 -0
  20. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.tsx +92 -0
  21. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.stories.tsx +15 -0
  22. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.test.tsx +19 -0
  23. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.tsx +30 -1
  24. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleErrorToast.stories.tsx +10 -0
  25. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleUndoToast.test.tsx +1 -3
  26. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleUndoToast.tsx +8 -7
  27. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useAirplaneMode.test.ts +304 -0
  28. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useAirplaneMode.ts +167 -0
  29. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleActionQueue.test.ts +15 -0
  30. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleActionQueue.ts +6 -1
  31. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleCaches.test.ts +77 -0
  32. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleCaches.ts +48 -3
  33. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleFeaturesConfig.test.ts +51 -0
  34. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleFeaturesConfig.ts +39 -0
  35. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTabData.test.ts +215 -0
  36. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTabData.ts +20 -1
  37. package/src/adapter/entry-points/console/ui/src/features/console/lib/airplaneSnapshot.test.ts +361 -0
  38. package/src/adapter/entry-points/console/ui/src/features/console/lib/airplaneSnapshot.ts +401 -0
  39. package/src/adapter/entry-points/console/ui/src/features/console/lib/resourceCache.ts +4 -0
  40. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.test.tsx +209 -0
  41. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.tsx +27 -2
  42. package/src/adapter/entry-points/console/ui-dist/assets/index-DkMqSpkk.js +88 -0
  43. package/src/adapter/entry-points/console/ui-dist/index.html +1 -1
  44. package/src/adapter/entry-points/console/webServer.test.ts +189 -0
  45. package/src/adapter/entry-points/console/webServer.ts +38 -0
  46. package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
  47. package/types/adapter/entry-points/console/consoleAirplaneSnapshotApi.d.ts +90 -0
  48. package/types/adapter/entry-points/console/consoleAirplaneSnapshotApi.d.ts.map +1 -0
  49. package/types/adapter/entry-points/console/webServer.d.ts +1 -0
  50. package/types/adapter/entry-points/console/webServer.d.ts.map +1 -1
  51. package/bin/adapter/entry-points/console/ui-dist/assets/index-CaxYBHiT.js +0 -86
  52. package/src/adapter/entry-points/console/ui-dist/assets/index-CaxYBHiT.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-CaxYBHiT.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-DkMqSpkk.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/index-CLHvrafO.css">
9
9
  </head>
10
10
  <body>
@@ -1187,6 +1187,91 @@ describe('webServer new routes integration', () => {
1187
1187
  fs.rmSync(tmpDir, { recursive: true, force: true });
1188
1188
  }
1189
1189
  });
1190
+
1191
+ it('routes POST /api/reorderstory to handleReorderStory and calls resolveProjectRepository.updateStoryList', async () => {
1192
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'console-server-'));
1193
+ const updateStoryList = jest.fn().mockResolvedValue([]);
1194
+ const projectWithTwoStories: Project = {
1195
+ ...mock<Project>(),
1196
+ id: 'PVT_1',
1197
+ url: 'https://github.com/orgs/acme-labs/projects/1',
1198
+ status: {
1199
+ name: 'Status',
1200
+ fieldId: 'statusField',
1201
+ statuses: [
1202
+ {
1203
+ id: 'status_aw',
1204
+ name: 'Awaiting workspace',
1205
+ color: 'GRAY',
1206
+ description: '',
1207
+ },
1208
+ ],
1209
+ },
1210
+ story: {
1211
+ name: 'Story',
1212
+ fieldId: 'storyField',
1213
+ databaseId: 1,
1214
+ stories: [
1215
+ {
1216
+ id: 'opt_first',
1217
+ name: 'First story',
1218
+ color: 'BLUE',
1219
+ description: '',
1220
+ },
1221
+ {
1222
+ id: 'opt_second',
1223
+ name: 'Second story',
1224
+ color: 'GREEN',
1225
+ description: '',
1226
+ },
1227
+ ],
1228
+ workflowManagementStory: { id: 'wms', name: 'workflow' },
1229
+ },
1230
+ };
1231
+ const issueRepository = mock<IssueRepository>();
1232
+ const server = await startWebServer({
1233
+ accessToken: testToken,
1234
+ uiDistDir: path.join(tmpDir, 'ui-dist'),
1235
+ consoleDataOutputDir: null,
1236
+ inTmuxDataDir: null,
1237
+ dashboardDir: null,
1238
+ dashboardDataDir: null,
1239
+ dashboardProjectNames: [],
1240
+ issueRepository,
1241
+ resolveProject: async (pjcode) =>
1242
+ pjcode === 'acme' ? { pjcode, project: projectWithTwoStories } : null,
1243
+ isPjcodeConfigured: (pjcode) => pjcode === 'acme',
1244
+ resolveProjectRepository: () => ({ updateStoryList }),
1245
+ port: 0,
1246
+ });
1247
+ try {
1248
+ const response = await request(
1249
+ server,
1250
+ 'POST',
1251
+ `/api/reorderstory?k=${testToken}`,
1252
+ { pjcode: 'acme', storyOptionId: 'opt_first', direction: 'down' },
1253
+ );
1254
+ expect(response.statusCode).toBe(200);
1255
+ expect(JSON.parse(response.body)).toEqual({ ok: true });
1256
+ expect(updateStoryList).toHaveBeenCalledWith(projectWithTwoStories, [
1257
+ {
1258
+ id: 'opt_second',
1259
+ name: 'Second story',
1260
+ color: 'GREEN',
1261
+ description: '',
1262
+ },
1263
+ {
1264
+ id: 'opt_first',
1265
+ name: 'First story',
1266
+ color: 'BLUE',
1267
+ description: '',
1268
+ },
1269
+ ]);
1270
+ } finally {
1271
+ await closeServer(server);
1272
+ fs.rmSync(tmpDir, { recursive: true, force: true });
1273
+ }
1274
+ });
1190
1275
  });
1191
1276
 
1192
1277
  describe('resolveFlatInTmuxFilePath', () => {
@@ -2720,4 +2805,108 @@ describe('webServer GET /api/projects', () => {
2720
2805
  fs.rmSync(tmpDir, { recursive: true, force: true });
2721
2806
  }
2722
2807
  });
2808
+
2809
+ it('GET /api/features returns { airplaneMode: false } when enableAirplaneMode is absent', async () => {
2810
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'console-server-'));
2811
+ const server = await startWebServer({
2812
+ accessToken: testToken,
2813
+ uiDistDir: path.join(tmpDir, 'ui-dist'),
2814
+ consoleDataOutputDir: null,
2815
+ inTmuxDataDir: null,
2816
+ dashboardDir: null,
2817
+ dashboardDataDir: null,
2818
+ dashboardProjectNames: [],
2819
+ port: 0,
2820
+ });
2821
+ try {
2822
+ const response = await request(
2823
+ server,
2824
+ 'GET',
2825
+ `/api/features?k=${testToken}`,
2826
+ );
2827
+ expect(response.statusCode).toBe(200);
2828
+ expect(JSON.parse(response.body)).toEqual({ airplaneMode: false });
2829
+ } finally {
2830
+ await closeServer(server);
2831
+ fs.rmSync(tmpDir, { recursive: true, force: true });
2832
+ }
2833
+ });
2834
+
2835
+ it('GET /api/features returns { airplaneMode: true } when enableAirplaneMode is true', async () => {
2836
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'console-server-'));
2837
+ const server = await startWebServer({
2838
+ accessToken: testToken,
2839
+ uiDistDir: path.join(tmpDir, 'ui-dist'),
2840
+ consoleDataOutputDir: null,
2841
+ inTmuxDataDir: null,
2842
+ dashboardDir: null,
2843
+ dashboardDataDir: null,
2844
+ dashboardProjectNames: [],
2845
+ enableAirplaneMode: true,
2846
+ port: 0,
2847
+ });
2848
+ try {
2849
+ const response = await request(
2850
+ server,
2851
+ 'GET',
2852
+ `/api/features?k=${testToken}`,
2853
+ );
2854
+ expect(response.statusCode).toBe(200);
2855
+ expect(JSON.parse(response.body)).toEqual({ airplaneMode: true });
2856
+ } finally {
2857
+ await closeServer(server);
2858
+ fs.rmSync(tmpDir, { recursive: true, force: true });
2859
+ }
2860
+ });
2861
+
2862
+ it('GET /api/airplanesync returns 404 when enableAirplaneMode is absent', async () => {
2863
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'console-server-'));
2864
+ const server = await startWebServer({
2865
+ accessToken: testToken,
2866
+ uiDistDir: path.join(tmpDir, 'ui-dist'),
2867
+ consoleDataOutputDir: null,
2868
+ inTmuxDataDir: null,
2869
+ dashboardDir: null,
2870
+ dashboardDataDir: null,
2871
+ dashboardProjectNames: [],
2872
+ port: 0,
2873
+ });
2874
+ try {
2875
+ const response = await request(
2876
+ server,
2877
+ 'GET',
2878
+ `/api/airplanesync?k=${testToken}`,
2879
+ );
2880
+ expect(response.statusCode).toBe(404);
2881
+ } finally {
2882
+ await closeServer(server);
2883
+ fs.rmSync(tmpDir, { recursive: true, force: true });
2884
+ }
2885
+ });
2886
+
2887
+ it('GET /api/airplanesync returns 404 when enableAirplaneMode is false', async () => {
2888
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'console-server-'));
2889
+ const server = await startWebServer({
2890
+ accessToken: testToken,
2891
+ uiDistDir: path.join(tmpDir, 'ui-dist'),
2892
+ consoleDataOutputDir: null,
2893
+ inTmuxDataDir: null,
2894
+ dashboardDir: null,
2895
+ dashboardDataDir: null,
2896
+ dashboardProjectNames: [],
2897
+ enableAirplaneMode: false,
2898
+ port: 0,
2899
+ });
2900
+ try {
2901
+ const response = await request(
2902
+ server,
2903
+ 'GET',
2904
+ `/api/airplanesync?k=${testToken}`,
2905
+ );
2906
+ expect(response.statusCode).toBe(404);
2907
+ } finally {
2908
+ await closeServer(server);
2909
+ fs.rmSync(tmpDir, { recursive: true, force: true });
2910
+ }
2911
+ });
2723
2912
  });
@@ -20,6 +20,7 @@ import {
20
20
  handlePullRequestStatus,
21
21
  handleRelatedPrs,
22
22
  } from './consoleReadApi';
23
+ import { handleAirplaneSync } from './consoleAirplaneSnapshotApi';
23
24
  import {
24
25
  ConsoleIssueRepositoryResolver,
25
26
  ConsoleOperationContext,
@@ -243,6 +244,7 @@ export type WebServerOptions = {
243
244
  ((pjcode: string, updatedProject: Project) => void) | null;
244
245
  issueTitleStateCache?: IssueTitleStateCache | null;
245
246
  pullRequestStatusCache?: PullRequestStatusCache | null;
247
+ enableAirplaneMode?: boolean;
246
248
  };
247
249
 
248
250
  const FLAT_IN_TMUX_PREFIX = '/in-tmux-by-human/';
@@ -662,6 +664,42 @@ const handleTokenedRequest = async (
662
664
  await handleImageProxy(options, response, searchParams);
663
665
  return;
664
666
  }
667
+ if (requestPath === '/api/features') {
668
+ sendJson(response, 200, {
669
+ airplaneMode: options.enableAirplaneMode === true,
670
+ });
671
+ return;
672
+ }
673
+ if (requestPath === '/api/airplanesync') {
674
+ if (options.enableAirplaneMode !== true) {
675
+ sendNotFound(response);
676
+ return;
677
+ }
678
+ const issueRepository = options.issueRepository ?? null;
679
+ const consoleDataOutputDir = options.consoleDataOutputDir ?? null;
680
+ const issueTitleStateCache = options.issueTitleStateCache ?? null;
681
+ const pullRequestStatusCache = options.pullRequestStatusCache ?? null;
682
+ if (
683
+ issueRepository === null ||
684
+ consoleDataOutputDir === null ||
685
+ issueTitleStateCache === null ||
686
+ pullRequestStatusCache === null
687
+ ) {
688
+ sendNotFound(response);
689
+ return;
690
+ }
691
+ await handleAirplaneSync(
692
+ response,
693
+ consoleDataOutputDir,
694
+ issueRepository,
695
+ issueTitleStateCache,
696
+ pullRequestStatusCache,
697
+ options.resolveGithubToken != null
698
+ ? options.resolveGithubToken('')
699
+ : null,
700
+ );
701
+ return;
702
+ }
665
703
  const readResult = await handleReadApi(
666
704
  options,
667
705
  requestPath,
@@ -1 +1 @@
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;AAgPzB,eAAO,MAAM,OAAO,SAAgB,CAAC;AAgmCrC,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,IAGxD,CAAC;AAwCF,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EAAE,EACd,kBAAkB,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KACzC,OAAO,CAAC,IAAI,CAqCd,CAAC"}
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;AAiPzB,eAAO,MAAM,OAAO,SAAgB,CAAC;AAkmCrC,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,IAGxD,CAAC;AAwCF,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EAAE,EACd,kBAAkB,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KACzC,OAAO,CAAC,IAAI,CAqCd,CAAC"}
@@ -0,0 +1,90 @@
1
+ import type { IssueRepository } from '../../../domain/usecases/adapter-interfaces/IssueRepository';
2
+ import { IssueTitleStateCache, PullRequestStatusCache } from './consoleReadApi';
3
+ export type AirplaneFilesItem = {
4
+ path: string;
5
+ additions: number;
6
+ deletions: number;
7
+ status: string;
8
+ patch: string | null;
9
+ rawUrl: string | null;
10
+ };
11
+ export type AirplaneCommitItem = {
12
+ sha: string;
13
+ message: string;
14
+ author: string;
15
+ authoredAt: string;
16
+ };
17
+ export type AirplaneCommentItem = {
18
+ author: string;
19
+ body: string;
20
+ createdAt: string;
21
+ };
22
+ export type AirplanePrStatusItem = {
23
+ found: boolean;
24
+ isConflicted: boolean;
25
+ mergeableStatus: string;
26
+ isPassedAllCiJob: boolean;
27
+ isCiStateSuccess: boolean;
28
+ isBranchOutOfDate: boolean;
29
+ missingRequiredCheckNames: string[];
30
+ };
31
+ export type AirplaneStateItem = {
32
+ state: string;
33
+ merged: boolean;
34
+ isPullRequest: boolean;
35
+ title: string;
36
+ };
37
+ export type AirplaneRelatedPrItem = {
38
+ url: string;
39
+ branchName: string | null;
40
+ createdAt: string;
41
+ isDraft: boolean;
42
+ isConflicted: boolean;
43
+ mergeableStatus: string;
44
+ isPassedAllCiJob: boolean;
45
+ isCiStateSuccess: boolean;
46
+ isResolvedAllReviewComments: boolean;
47
+ isBranchOutOfDate: boolean;
48
+ missingRequiredCheckNames: string[];
49
+ summary: {
50
+ title: string;
51
+ body: string;
52
+ additions: number;
53
+ deletions: number;
54
+ changedFiles: number;
55
+ } | null;
56
+ };
57
+ export type AirplaneItemData = {
58
+ body: string;
59
+ comments: AirplaneCommentItem[];
60
+ state: AirplaneStateItem;
61
+ files: AirplaneFilesItem[] | null;
62
+ commits: AirplaneCommitItem[] | null;
63
+ prStatus: AirplanePrStatusItem | null;
64
+ relatedPrs: AirplaneRelatedPrItem[] | null;
65
+ };
66
+ export type AirplaneTabData = Record<string, unknown>;
67
+ export type AirplaneSnapshotPayload = {
68
+ capturedAt: string;
69
+ tabs: Record<string, AirplaneTabData>;
70
+ items: Record<string, AirplaneItemData>;
71
+ failures: string[];
72
+ };
73
+ export type AirplaneSyncEvent = {
74
+ type: 'progress';
75
+ fetched: number;
76
+ total: number;
77
+ } | {
78
+ type: 'done';
79
+ snapshot: AirplaneSnapshotPayload;
80
+ } | {
81
+ type: 'error';
82
+ message: string;
83
+ };
84
+ export type AirplaneSyncResponseWriter = {
85
+ writeHead(statusCode: number, headers: Record<string, string>): void;
86
+ write(data: string): void;
87
+ end(): void;
88
+ };
89
+ export declare const handleAirplaneSync: (response: AirplaneSyncResponseWriter, consoleDataOutputDir: string, issueRepository: IssueRepository, issueTitleStateCache: IssueTitleStateCache, pullRequestStatusCache: PullRequestStatusCache, ghToken?: string | null) => Promise<void>;
90
+ //# sourceMappingURL=consoleAirplaneSnapshotApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consoleAirplaneSnapshotApi.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/consoleAirplaneSnapshotApi.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ export type WebServerOptions = {
38
38
  updateProjectCacheEntry?: ((pjcode: string, updatedProject: Project) => void) | null;
39
39
  issueTitleStateCache?: IssueTitleStateCache | null;
40
40
  pullRequestStatusCache?: PullRequestStatusCache | null;
41
+ enableAirplaneMode?: boolean;
41
42
  };
42
43
  export declare const DASHBOARD_REQUEST_PATH = "/tdpm.txt";
43
44
  export declare const IMAGE_PROXY_REQUEST_PATH = "/api/img";
@@ -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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"}