github-issue-tower-defence-management 1.109.1 → 1.109.2

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 (26) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +3 -3
  3. package/bin/adapter/entry-points/cli/index.js +10 -10
  4. package/bin/adapter/entry-points/cli/index.js.map +1 -1
  5. package/bin/adapter/entry-points/console/dashboardComposeService.js +7 -6
  6. package/bin/adapter/entry-points/console/dashboardComposeService.js.map +1 -1
  7. package/bin/adapter/entry-points/console/webServer.js +5 -4
  8. package/bin/adapter/entry-points/console/webServer.js.map +1 -1
  9. package/bin/domain/usecases/dashboard/DashboardProjectCode.js +19 -0
  10. package/bin/domain/usecases/dashboard/DashboardProjectCode.js.map +1 -0
  11. package/package.json +1 -1
  12. package/src/adapter/entry-points/cli/index.ts +14 -14
  13. package/src/adapter/entry-points/console/dashboardComposeService.test.ts +31 -28
  14. package/src/adapter/entry-points/console/dashboardComposeService.ts +13 -10
  15. package/src/adapter/entry-points/console/dashboardEmitterComposerKey.test.ts +175 -0
  16. package/src/adapter/entry-points/console/ui/e2e/consoleTestHarness.ts +1 -1
  17. package/src/adapter/entry-points/console/webServer.test.ts +23 -23
  18. package/src/adapter/entry-points/console/webServer.ts +5 -4
  19. package/src/domain/usecases/dashboard/DashboardProjectCode.test.ts +32 -0
  20. package/src/domain/usecases/dashboard/DashboardProjectCode.ts +20 -0
  21. package/types/adapter/entry-points/console/dashboardComposeService.d.ts +1 -1
  22. package/types/adapter/entry-points/console/dashboardComposeService.d.ts.map +1 -1
  23. package/types/adapter/entry-points/console/webServer.d.ts +2 -2
  24. package/types/adapter/entry-points/console/webServer.d.ts.map +1 -1
  25. package/types/domain/usecases/dashboard/DashboardProjectCode.d.ts +4 -0
  26. package/types/domain/usecases/dashboard/DashboardProjectCode.d.ts.map +1 -0
@@ -0,0 +1,32 @@
1
+ import {
2
+ DASHBOARD_DISPLAY_LABEL_BY_PROJECT_NAME,
3
+ DASHBOARD_PROJECT_NAMES,
4
+ toDashboardDisplayLabel,
5
+ } from './DashboardProjectCode';
6
+
7
+ describe('DashboardProjectCode', () => {
8
+ it('maps each full project name to its 2-char display label', () => {
9
+ expect(toDashboardDisplayLabel('umino')).toBe('um');
10
+ expect(toDashboardDisplayLabel('xmile')).toBe('xm');
11
+ expect(toDashboardDisplayLabel('xcare')).toBe('xc');
12
+ expect(toDashboardDisplayLabel('utage3')).toBe('ut');
13
+ });
14
+
15
+ it('exposes the project names in the same order as the label mapping', () => {
16
+ expect(DASHBOARD_PROJECT_NAMES).toEqual([
17
+ 'umino',
18
+ 'xmile',
19
+ 'xcare',
20
+ 'utage3',
21
+ ]);
22
+ expect(DASHBOARD_PROJECT_NAMES).toEqual(
23
+ Object.keys(DASHBOARD_DISPLAY_LABEL_BY_PROJECT_NAME),
24
+ );
25
+ });
26
+
27
+ it('throws for an unknown project name rather than guessing a label', () => {
28
+ expect(() => toDashboardDisplayLabel('unknown')).toThrow(
29
+ 'Unknown dashboard project name: unknown',
30
+ );
31
+ });
32
+ });
@@ -0,0 +1,20 @@
1
+ export const DASHBOARD_DISPLAY_LABEL_BY_PROJECT_NAME: Record<string, string> = {
2
+ umino: 'um',
3
+ xmile: 'xm',
4
+ xcare: 'xc',
5
+ utage3: 'ut',
6
+ };
7
+
8
+ export const DASHBOARD_PROJECT_NAMES: string[] = Object.keys(
9
+ DASHBOARD_DISPLAY_LABEL_BY_PROJECT_NAME,
10
+ );
11
+
12
+ export const toDashboardDisplayLabel = (projectName: string): string => {
13
+ const label = DASHBOARD_DISPLAY_LABEL_BY_PROJECT_NAME[projectName];
14
+ if (label === undefined) {
15
+ throw new Error(
16
+ `Unknown dashboard project name: ${projectName}. Add it to DASHBOARD_DISPLAY_LABEL_BY_PROJECT_NAME.`,
17
+ );
18
+ }
19
+ return label;
20
+ };
@@ -1,7 +1,7 @@
1
1
  import { ComposeDashboardInput } from '../../../domain/usecases/dashboard/ComposeDashboardUseCase';
2
2
  export type DashboardComposeOptions = {
3
3
  dashboardDataDir: string;
4
- projectCodes: string[];
4
+ projectNames: string[];
5
5
  };
6
6
  export declare const buildComposeDashboardInput: (options: DashboardComposeOptions) => ComposeDashboardInput;
7
7
  export declare const dashboardComposeFilesPresent: (options: DashboardComposeOptions) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboardComposeService.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/dashboardComposeService.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EAItB,MAAM,4DAA4D,CAAC;AAOpE,MAAM,MAAM,uBAAuB,GAAG;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AA4IF,eAAO,MAAM,0BAA0B,GACrC,SAAS,uBAAuB,KAC/B,qBAYF,CAAC;AAUF,eAAO,MAAM,4BAA4B,GACvC,SAAS,uBAAuB,KAC/B,OAYF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,SAAS,uBAAuB,KAC/B,MACqE,CAAC"}
1
+ {"version":3,"file":"dashboardComposeService.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/dashboardComposeService.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EAItB,MAAM,4DAA4D,CAAC;AAQpE,MAAM,MAAM,uBAAuB,GAAG;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AA8IF,eAAO,MAAM,0BAA0B,GACrC,SAAS,uBAAuB,KAC/B,qBAYF,CAAC;AAUF,eAAO,MAAM,4BAA4B,GACvC,SAAS,uBAAuB,KAC/B,OAYF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,SAAS,uBAAuB,KAC/B,MACqE,CAAC"}
@@ -4,7 +4,7 @@ import { IssueTitleStateCache } from './consoleReadApi';
4
4
  import { ConsoleProjectResolver } from './consoleOperationApi';
5
5
  import { ImageFetcher } from './consoleImageProxy';
6
6
  export declare const DEFAULT_WEB_PORT = 9981;
7
- export declare const DEFAULT_DASHBOARD_PROJECT_CODES: string[];
7
+ export declare const DEFAULT_DASHBOARD_PROJECT_NAMES: string[];
8
8
  export declare const CONSOLE_TOKEN_HEADER = "x-pv-token";
9
9
  export declare const hasDotSegment: (requestPath: string) => boolean;
10
10
  export declare const requiresToken: (requestPath: string) => boolean;
@@ -18,7 +18,7 @@ export type WebServerOptions = {
18
18
  inTmuxDataDir: string | null;
19
19
  dashboardDir: string | null;
20
20
  dashboardDataDir: string | null;
21
- dashboardProjectCodes: string[];
21
+ dashboardProjectNames: string[];
22
22
  githubToken?: string | null;
23
23
  imageFetcher?: ImageFetcher | null;
24
24
  issueRepository?: IssueRepository | 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,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAM9F,OAAO,EACL,oBAAoB,EAOrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,sBAAsB,EAMvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AAMtE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,eAAO,MAAM,+BAA+B,UAA2B,CAAC;AAExE,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAmCjD,eAAO,MAAM,aAAa,GAAI,aAAa,MAAM,KAAG,OAGiB,CAAC;AAEtE,eAAO,MAAM,aAAa,GAAI,aAAa,MAAM,KAAG,OAGrB,CAAC;AAIhC,eAAO,MAAM,iBAAiB,GAAI,aAAa,MAAM,KAAG,OAmBvD,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,eAAe,MAAM,EACrB,eAAe,MAAM,GAAG,IAAI,KAC3B,OAAoE,CAAC;AAExE,eAAO,MAAM,oBAAoB,GAC/B,YAAY,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EACpC,aAAa,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,KACzC,MAAM,GAAG,IAQX,CAAC;AAuCF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/C,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD,CAAC;AAMF,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAElD,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAInD,eAAO,MAAM,wBAAwB,GACnC,cAAc,MAAM,EACpB,aAAa,MAAM,KAClB,MAAM,GAAG,IAWX,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,eAAe,MAAM,EACrB,aAAa,MAAM,KAClB,MAAM,GAAG,IAeX,CAAC;AA0UF,eAAO,MAAM,uBAAuB,GAClC,SAAS,gBAAgB,EACzB,aAAa,MAAM,KAClB,MAAM,GAAG,IAeX,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,SAAS,gBAAgB,EACzB,SAAS,IAAI,CAAC,eAAe,EAC7B,UAAU,IAAI,CAAC,cAAc,KAC5B,OAAO,CAAC,IAAI,CAwEd,CAAC;AAcF,eAAO,MAAM,eAAe,GAAI,SAAS,gBAAgB,KAAG,IAAI,CAAC,MAM7D,CAAC;AAEL,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG;IACrD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,SAAS,qBAAqB,KAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAQlB,CAAC"}
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,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAM9F,OAAO,EACL,oBAAoB,EAOrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,sBAAsB,EAMvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AAOtE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,eAAO,MAAM,+BAA+B,UAA0B,CAAC;AAEvE,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAmCjD,eAAO,MAAM,aAAa,GAAI,aAAa,MAAM,KAAG,OAGiB,CAAC;AAEtE,eAAO,MAAM,aAAa,GAAI,aAAa,MAAM,KAAG,OAGrB,CAAC;AAIhC,eAAO,MAAM,iBAAiB,GAAI,aAAa,MAAM,KAAG,OAmBvD,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,eAAe,MAAM,EACrB,eAAe,MAAM,GAAG,IAAI,KAC3B,OAAoE,CAAC;AAExE,eAAO,MAAM,oBAAoB,GAC/B,YAAY,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EACpC,aAAa,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,KACzC,MAAM,GAAG,IAQX,CAAC;AAuCF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/C,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD,CAAC;AAMF,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAElD,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAInD,eAAO,MAAM,wBAAwB,GACnC,cAAc,MAAM,EACpB,aAAa,MAAM,KAClB,MAAM,GAAG,IAWX,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,eAAe,MAAM,EACrB,aAAa,MAAM,KAClB,MAAM,GAAG,IAeX,CAAC;AA0UF,eAAO,MAAM,uBAAuB,GAClC,SAAS,gBAAgB,EACzB,aAAa,MAAM,KAClB,MAAM,GAAG,IAeX,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,SAAS,gBAAgB,EACzB,SAAS,IAAI,CAAC,eAAe,EAC7B,UAAU,IAAI,CAAC,cAAc,KAC5B,OAAO,CAAC,IAAI,CAwEd,CAAC;AAcF,eAAO,MAAM,eAAe,GAAI,SAAS,gBAAgB,KAAG,IAAI,CAAC,MAM7D,CAAC;AAEL,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG;IACrD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,SAAS,qBAAqB,KAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAQlB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const DASHBOARD_DISPLAY_LABEL_BY_PROJECT_NAME: Record<string, string>;
2
+ export declare const DASHBOARD_PROJECT_NAMES: string[];
3
+ export declare const toDashboardDisplayLabel: (projectName: string) => string;
4
+ //# sourceMappingURL=DashboardProjectCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardProjectCode.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/dashboard/DashboardProjectCode.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uCAAuC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK1E,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAE3C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,aAAa,MAAM,KAAG,MAQ7D,CAAC"}