github-issue-tower-defence-management 1.107.0 → 1.109.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 +14 -1
- package/bin/adapter/entry-points/cli/index.js +4 -4
- package/bin/adapter/entry-points/cli/index.js.map +1 -1
- package/bin/adapter/entry-points/console/dashboardComposeService.js +1 -0
- package/bin/adapter/entry-points/console/dashboardComposeService.js.map +1 -1
- package/bin/adapter/entry-points/handlers/GetStoryObjectMapUseCaseHandler.js +1 -1
- package/bin/adapter/entry-points/handlers/GetStoryObjectMapUseCaseHandler.js.map +1 -1
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +1 -1
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
- package/bin/adapter/entry-points/handlers/machineStatusWriter.js +2 -0
- package/bin/adapter/entry-points/handlers/machineStatusWriter.js.map +1 -1
- package/bin/adapter/repositories/GraphqlProjectRepository.js +98 -4
- package/bin/adapter/repositories/GraphqlProjectRepository.js.map +1 -1
- package/bin/adapter/repositories/LocalStorageCacheRepository.js +5 -1
- package/bin/adapter/repositories/LocalStorageCacheRepository.js.map +1 -1
- package/bin/adapter/repositories/LocalStorageRepository.js +3 -0
- package/bin/adapter/repositories/LocalStorageRepository.js.map +1 -1
- package/bin/adapter/repositories/ProcHostMetricsRepository.js +25 -2
- package/bin/adapter/repositories/ProcHostMetricsRepository.js.map +1 -1
- package/bin/domain/usecases/dashboard/ComposeDashboardUseCase.js +12 -6
- package/bin/domain/usecases/dashboard/ComposeDashboardUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter/entry-points/cli/index.ts +4 -0
- package/src/adapter/entry-points/console/dashboardComposeService.test.ts +8 -1
- package/src/adapter/entry-points/console/dashboardComposeService.ts +1 -0
- package/src/adapter/entry-points/console/webServer.test.ts +4 -1
- package/src/adapter/entry-points/handlers/GetStoryObjectMapUseCaseHandler.test.ts +6 -1
- package/src/adapter/entry-points/handlers/GetStoryObjectMapUseCaseHandler.ts +4 -1
- package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.test.ts +6 -1
- package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +1 -0
- package/src/adapter/entry-points/handlers/machineStatusWriter.test.ts +14 -2
- package/src/adapter/entry-points/handlers/machineStatusWriter.ts +3 -0
- package/src/adapter/repositories/GraphqlProjectRepository.diskCache.test.ts +354 -0
- package/src/adapter/repositories/GraphqlProjectRepository.ts +139 -1
- package/src/adapter/repositories/LocalStorageCacheRepository.test.ts +35 -2
- package/src/adapter/repositories/LocalStorageCacheRepository.ts +5 -4
- package/src/adapter/repositories/LocalStorageRepository.test.ts +12 -0
- package/src/adapter/repositories/LocalStorageRepository.ts +3 -0
- package/src/adapter/repositories/ProcHostMetricsRepository.test.ts +26 -0
- package/src/adapter/repositories/ProcHostMetricsRepository.ts +36 -0
- package/src/domain/usecases/dashboard/ComposeDashboardUseCase.test.ts +44 -17
- package/src/domain/usecases/dashboard/ComposeDashboardUseCase.ts +13 -5
- package/types/adapter/entry-points/console/dashboardComposeService.d.ts.map +1 -1
- package/types/adapter/entry-points/handlers/GetStoryObjectMapUseCaseHandler.d.ts.map +1 -1
- package/types/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.d.ts.map +1 -1
- package/types/adapter/entry-points/handlers/machineStatusWriter.d.ts +1 -0
- package/types/adapter/entry-points/handlers/machineStatusWriter.d.ts.map +1 -1
- package/types/adapter/repositories/GraphqlProjectRepository.d.ts +10 -0
- package/types/adapter/repositories/GraphqlProjectRepository.d.ts.map +1 -1
- package/types/adapter/repositories/LocalStorageCacheRepository.d.ts.map +1 -1
- package/types/adapter/repositories/LocalStorageRepository.d.ts +1 -0
- package/types/adapter/repositories/LocalStorageRepository.d.ts.map +1 -1
- package/types/adapter/repositories/ProcHostMetricsRepository.d.ts +10 -1
- package/types/adapter/repositories/ProcHostMetricsRepository.d.ts.map +1 -1
- package/types/domain/usecases/dashboard/ComposeDashboardUseCase.d.ts +2 -1
- package/types/domain/usecases/dashboard/ComposeDashboardUseCase.d.ts.map +1 -1
|
@@ -2,10 +2,12 @@ import * as fs from 'fs';
|
|
|
2
2
|
import * as os from 'os';
|
|
3
3
|
import * as path from 'path';
|
|
4
4
|
import {
|
|
5
|
+
DiskBlocks,
|
|
5
6
|
ProcHostMetricsRepository,
|
|
6
7
|
cpuUsedPercentFromSamples,
|
|
7
8
|
cycleMinutesFromMtimes,
|
|
8
9
|
parseCpuSample,
|
|
10
|
+
parseDiskUsedPercent,
|
|
9
11
|
parseLoadAverages,
|
|
10
12
|
parseMemoryUsedPercent,
|
|
11
13
|
} from './ProcHostMetricsRepository';
|
|
@@ -72,6 +74,20 @@ describe('parseLoadAverages', () => {
|
|
|
72
74
|
});
|
|
73
75
|
});
|
|
74
76
|
|
|
77
|
+
describe('parseDiskUsedPercent', () => {
|
|
78
|
+
it('excludes root-reserved blocks from the denominator like df', () => {
|
|
79
|
+
expect(parseDiskUsedPercent(1100, 200, 100)).toBe(90);
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
it('matches df when there is no root reservation (bfree equals bavail)', () => {
|
|
83
|
+
expect(parseDiskUsedPercent(1000, 100, 100)).toBe(90);
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
it('throws when the disk total is not positive', () => {
|
|
87
|
+
expect(() => parseDiskUsedPercent(100, 200, 0)).toThrow();
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
|
|
75
91
|
describe('cycleMinutesFromMtimes', () => {
|
|
76
92
|
it('rounds the gap between the two newest generations to whole minutes', () => {
|
|
77
93
|
expect(cycleMinutesFromMtimes([1782469254.0, 1782468443.0])).toBe(14);
|
|
@@ -120,6 +136,16 @@ describe('ProcHostMetricsRepository', () => {
|
|
|
120
136
|
});
|
|
121
137
|
});
|
|
122
138
|
|
|
139
|
+
it('reads the df-style disk used percent from the root filesystem statfs', () => {
|
|
140
|
+
const diskBlocks: DiskBlocks = { blocks: 1100, bfree: 200, bavail: 100 };
|
|
141
|
+
const repository = new ProcHostMetricsRepository(
|
|
142
|
+
procDirectory,
|
|
143
|
+
async () => {},
|
|
144
|
+
() => diskBlocks,
|
|
145
|
+
);
|
|
146
|
+
expect(repository.readDiskUsedPercent()).toBe(90);
|
|
147
|
+
});
|
|
148
|
+
|
|
123
149
|
it('samples /proc/stat twice and computes the busy percent', async () => {
|
|
124
150
|
const statPath = path.join(procDirectory, 'stat');
|
|
125
151
|
let sampleIndex = 0;
|
|
@@ -13,8 +13,15 @@ export type LoadAverages = {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
const DEFAULT_PROC_DIRECTORY = '/proc';
|
|
16
|
+
const DEFAULT_ROOT_PATH = '/';
|
|
16
17
|
const CPU_SAMPLE_INTERVAL_MS = 400;
|
|
17
18
|
|
|
19
|
+
export type DiskBlocks = {
|
|
20
|
+
blocks: number;
|
|
21
|
+
bfree: number;
|
|
22
|
+
bavail: number;
|
|
23
|
+
};
|
|
24
|
+
|
|
18
25
|
export const parseMemoryUsedPercent = (meminfoText: string): number => {
|
|
19
26
|
const fields = new Map<string, number>();
|
|
20
27
|
for (const line of meminfoText.split('\n')) {
|
|
@@ -76,6 +83,19 @@ export const cpuUsedPercentFromSamples = (
|
|
|
76
83
|
return Math.round((busyDelta / totalDelta) * 100);
|
|
77
84
|
};
|
|
78
85
|
|
|
86
|
+
export const parseDiskUsedPercent = (
|
|
87
|
+
blocks: number,
|
|
88
|
+
bfree: number,
|
|
89
|
+
bavail: number,
|
|
90
|
+
): number => {
|
|
91
|
+
const total = blocks - bfree + bavail;
|
|
92
|
+
if (total <= 0) {
|
|
93
|
+
throw new Error('disk total must be positive');
|
|
94
|
+
}
|
|
95
|
+
const used = blocks - bfree;
|
|
96
|
+
return Math.round((used / total) * 100);
|
|
97
|
+
};
|
|
98
|
+
|
|
79
99
|
export const parseLoadAverages = (loadavgText: string): LoadAverages => {
|
|
80
100
|
const parts = loadavgText.trim().split(/\s+/);
|
|
81
101
|
const oneMinute = Number(parts[0]);
|
|
@@ -111,6 +131,17 @@ export class ProcHostMetricsRepository {
|
|
|
111
131
|
new Promise((resolve) => {
|
|
112
132
|
setTimeout(resolve, milliseconds);
|
|
113
133
|
}),
|
|
134
|
+
private readonly readDiskBlocks: (rootPath: string) => DiskBlocks = (
|
|
135
|
+
rootPath,
|
|
136
|
+
) => {
|
|
137
|
+
const stats = fs.statfsSync(rootPath);
|
|
138
|
+
return {
|
|
139
|
+
blocks: Number(stats.blocks),
|
|
140
|
+
bfree: Number(stats.bfree),
|
|
141
|
+
bavail: Number(stats.bavail),
|
|
142
|
+
};
|
|
143
|
+
},
|
|
144
|
+
private readonly rootPath: string = DEFAULT_ROOT_PATH,
|
|
114
145
|
) {}
|
|
115
146
|
|
|
116
147
|
readMemoryUsedPercent = (): number =>
|
|
@@ -133,4 +164,9 @@ export class ProcHostMetricsRepository {
|
|
|
133
164
|
parseLoadAverages(
|
|
134
165
|
fs.readFileSync(path.join(this.procDirectory, 'loadavg'), 'utf8'),
|
|
135
166
|
);
|
|
167
|
+
|
|
168
|
+
readDiskUsedPercent = (): number => {
|
|
169
|
+
const { blocks, bfree, bavail } = this.readDiskBlocks(this.rootPath);
|
|
170
|
+
return parseDiskUsedPercent(blocks, bfree, bavail);
|
|
171
|
+
};
|
|
136
172
|
}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
ComposeDashboardInput,
|
|
3
3
|
ComposeDashboardUseCase,
|
|
4
4
|
PROJECT_ROW_WIDTH_BUDGET,
|
|
5
|
-
|
|
5
|
+
formatMachineStatusLines,
|
|
6
6
|
formatProjectHeaderLine,
|
|
7
7
|
formatProjectRowLine,
|
|
8
8
|
formatResetCountdown,
|
|
@@ -64,53 +64,76 @@ describe('formatResetCountdown', () => {
|
|
|
64
64
|
});
|
|
65
65
|
});
|
|
66
66
|
|
|
67
|
-
describe('
|
|
68
|
-
it('renders the host
|
|
67
|
+
describe('formatMachineStatusLines', () => {
|
|
68
|
+
it('renders the host metrics as two lines from a machine status', () => {
|
|
69
69
|
expect(
|
|
70
|
-
|
|
70
|
+
formatMachineStatusLines({
|
|
71
71
|
memPct: 55,
|
|
72
72
|
cpuPct: 62,
|
|
73
|
+
diskPct: 93,
|
|
73
74
|
load: [16, 23, 40],
|
|
74
|
-
cycleMinutes:
|
|
75
|
+
cycleMinutes: 13,
|
|
75
76
|
}),
|
|
76
|
-
).
|
|
77
|
+
).toEqual(['M55% C62% D93% cy13', 'LA 16 23 40']);
|
|
77
78
|
});
|
|
78
79
|
|
|
79
80
|
it('rounds loads with half-to-even and renders integers', () => {
|
|
80
81
|
expect(
|
|
81
|
-
|
|
82
|
+
formatMachineStatusLines({
|
|
82
83
|
memPct: 62,
|
|
83
84
|
cpuPct: 31,
|
|
85
|
+
diskPct: 7,
|
|
84
86
|
load: [1.2, 0.98, 0.75],
|
|
85
87
|
cycleMinutes: 14,
|
|
86
88
|
}),
|
|
87
|
-
).
|
|
89
|
+
).toEqual(['M62% C31% D7% cy14', 'LA 1 1 1']);
|
|
88
90
|
});
|
|
89
91
|
|
|
90
92
|
it('falls back to placeholders when the machine status is absent', () => {
|
|
91
|
-
expect(
|
|
93
|
+
expect(formatMachineStatusLines(null)).toEqual([
|
|
94
|
+
'M?% C?% D?% cy-',
|
|
95
|
+
'LA ? ? ?',
|
|
96
|
+
]);
|
|
92
97
|
});
|
|
93
98
|
|
|
94
99
|
it('renders cy- when cycle minutes is null', () => {
|
|
95
100
|
expect(
|
|
96
|
-
|
|
101
|
+
formatMachineStatusLines({
|
|
97
102
|
memPct: 1,
|
|
98
103
|
cpuPct: 2,
|
|
104
|
+
diskPct: 3,
|
|
99
105
|
load: [0, 0, 0],
|
|
100
106
|
cycleMinutes: null,
|
|
101
107
|
}),
|
|
102
|
-
).
|
|
108
|
+
).toEqual(['M1% C2% D3% cy-', 'LA 0 0 0']);
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
it('renders D?% when only the disk percent is unavailable', () => {
|
|
112
|
+
expect(
|
|
113
|
+
formatMachineStatusLines({
|
|
114
|
+
memPct: 55,
|
|
115
|
+
cpuPct: 62,
|
|
116
|
+
diskPct: null,
|
|
117
|
+
load: [16, 23, 40],
|
|
118
|
+
cycleMinutes: 13,
|
|
119
|
+
}),
|
|
120
|
+
).toEqual(['M55% C62% D?% cy13', 'LA 16 23 40']);
|
|
103
121
|
});
|
|
104
122
|
|
|
105
|
-
it('
|
|
106
|
-
const
|
|
123
|
+
it('keeps both lines within the 32 character width budget at worst case', () => {
|
|
124
|
+
const lines = formatMachineStatusLines({
|
|
107
125
|
memPct: 100,
|
|
108
126
|
cpuPct: 100,
|
|
127
|
+
diskPct: 100,
|
|
109
128
|
load: [108.5, 120.25, 95.1],
|
|
110
129
|
cycleMinutes: 999,
|
|
111
130
|
});
|
|
112
|
-
expect(
|
|
113
|
-
|
|
131
|
+
expect(lines).toEqual(['M100% C100% D100% cy999', 'LA 108 120 95']);
|
|
132
|
+
for (const line of lines) {
|
|
133
|
+
expect(codePointLength(line)).toBeLessThanOrEqual(
|
|
134
|
+
PROJECT_ROW_WIDTH_BUDGET,
|
|
135
|
+
);
|
|
136
|
+
}
|
|
114
137
|
});
|
|
115
138
|
});
|
|
116
139
|
|
|
@@ -260,6 +283,7 @@ describe('ComposeDashboardUseCase', () => {
|
|
|
260
283
|
machineStatus: {
|
|
261
284
|
memPct: 55,
|
|
262
285
|
cpuPct: 62,
|
|
286
|
+
diskPct: 89,
|
|
263
287
|
load: [16, 23, 40],
|
|
264
288
|
cycleMinutes: 14,
|
|
265
289
|
},
|
|
@@ -310,7 +334,8 @@ describe('ComposeDashboardUseCase', () => {
|
|
|
310
334
|
};
|
|
311
335
|
|
|
312
336
|
const expectedBody =
|
|
313
|
-
'<tt>M55% C62%
|
|
337
|
+
'<tt>M55% C62% D89% cy14</tt><br>\n' +
|
|
338
|
+
'<tt>LA 16 23 40</tt><br>\n' +
|
|
314
339
|
'<tt>pj unr tdo aqc fal prp aws dep</tt><br>\n' +
|
|
315
340
|
'<tt>🟢um 3 1 2 0 0 4 1</tt><br>\n' +
|
|
316
341
|
'<tt>🟠xm 12 0 16 6 1 0 0</tt><br>\n' +
|
|
@@ -357,7 +382,8 @@ describe('ComposeDashboardUseCase', () => {
|
|
|
357
382
|
});
|
|
358
383
|
expect(
|
|
359
384
|
output.startsWith(
|
|
360
|
-
'<tt>M?% C?%
|
|
385
|
+
'<tt>M?% C?% D?% cy-</tt><br>\n' +
|
|
386
|
+
'<tt>LA ? ? ?</tt><br>\n',
|
|
361
387
|
),
|
|
362
388
|
).toBe(true);
|
|
363
389
|
});
|
|
@@ -367,6 +393,7 @@ describe('ComposeDashboardUseCase', () => {
|
|
|
367
393
|
machineStatus: {
|
|
368
394
|
memPct: 100,
|
|
369
395
|
cpuPct: 100,
|
|
396
|
+
diskPct: 100,
|
|
370
397
|
load: [108.5, 120.25, 95.1],
|
|
371
398
|
cycleMinutes: 999,
|
|
372
399
|
},
|
|
@@ -11,6 +11,7 @@ export type ComposeDashboardProject = {
|
|
|
11
11
|
export type ComposeDashboardMachineStatus = {
|
|
12
12
|
memPct: number | null;
|
|
13
13
|
cpuPct: number | null;
|
|
14
|
+
diskPct: number | null;
|
|
14
15
|
load: [number, number, number] | null;
|
|
15
16
|
cycleMinutes: number | null;
|
|
16
17
|
};
|
|
@@ -97,9 +98,9 @@ export const formatResetCountdown = (totalSeconds: number): string => {
|
|
|
97
98
|
)}`;
|
|
98
99
|
};
|
|
99
100
|
|
|
100
|
-
export const
|
|
101
|
+
export const formatMachineStatusLines = (
|
|
101
102
|
machineStatus: ComposeDashboardMachineStatus | null,
|
|
102
|
-
): string => {
|
|
103
|
+
): [string, string] => {
|
|
103
104
|
const memText =
|
|
104
105
|
machineStatus !== null && machineStatus.memPct !== null
|
|
105
106
|
? `${machineStatus.memPct}%`
|
|
@@ -108,6 +109,10 @@ export const formatMachineStatusLine = (
|
|
|
108
109
|
machineStatus !== null && machineStatus.cpuPct !== null
|
|
109
110
|
? `${machineStatus.cpuPct}%`
|
|
110
111
|
: '?%';
|
|
112
|
+
const diskText =
|
|
113
|
+
machineStatus !== null && machineStatus.diskPct !== null
|
|
114
|
+
? `${machineStatus.diskPct}%`
|
|
115
|
+
: '?%';
|
|
111
116
|
const load = machineStatus !== null ? machineStatus.load : null;
|
|
112
117
|
const oneMinute = load === null ? '?' : String(roundHalfToEven(load[0]));
|
|
113
118
|
const fiveMinute = load === null ? '?' : String(roundHalfToEven(load[1]));
|
|
@@ -116,7 +121,10 @@ export const formatMachineStatusLine = (
|
|
|
116
121
|
machineStatus !== null && machineStatus.cycleMinutes !== null
|
|
117
122
|
? `cy${machineStatus.cycleMinutes}`
|
|
118
123
|
: 'cy-';
|
|
119
|
-
return
|
|
124
|
+
return [
|
|
125
|
+
`M${memText} C${cpuText} D${diskText} ${cycle}`,
|
|
126
|
+
`LA ${oneMinute} ${fiveMinute} ${fifteenMinute}`,
|
|
127
|
+
];
|
|
120
128
|
};
|
|
121
129
|
|
|
122
130
|
const capThreeDigits = (value: number): string =>
|
|
@@ -206,7 +214,7 @@ const wrapLine = (line: string): string =>
|
|
|
206
214
|
|
|
207
215
|
export class ComposeDashboardUseCase {
|
|
208
216
|
run = (input: ComposeDashboardInput): string => {
|
|
209
|
-
const
|
|
217
|
+
const statsLines = formatMachineStatusLines(input.machineStatus);
|
|
210
218
|
const projectLines = [
|
|
211
219
|
formatProjectHeaderLine(),
|
|
212
220
|
...input.projects.map((project) => formatProjectRowLine(project)),
|
|
@@ -214,7 +222,7 @@ export class ComposeDashboardUseCase {
|
|
|
214
222
|
const tokenLines = sortTokens(input.tokens).map((token) =>
|
|
215
223
|
formatTokenRowLine(token),
|
|
216
224
|
);
|
|
217
|
-
const lines = [
|
|
225
|
+
const lines = [...statsLines, ...projectLines, '', ...tokenLines];
|
|
218
226
|
return lines.map((line) => wrapLine(line)).join('\n') + '\n';
|
|
219
227
|
};
|
|
220
228
|
}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetStoryObjectMapUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/GetStoryObjectMapUseCaseHandler.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,qBAAa,+BAA+B;IAC1C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,EACjB,oBAAoB,MAAM,KACzB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,cAAc,CAAC;KAChC,CAAC,
|
|
1
|
+
{"version":3,"file":"GetStoryObjectMapUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/GetStoryObjectMapUseCaseHandler.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,qBAAa,+BAA+B;IAC1C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,EACjB,oBAAoB,MAAM,KACzB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,cAAc,CAAC;KAChC,CAAC,CA8DA;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandleScheduledEventUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAgC3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,KAChB,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":"AA8BA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAgC3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,KAChB,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,CAycP;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machineStatusWriter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/machineStatusWriter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EAE1B,MAAM,8CAA8C,CAAC;AAEtD,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA8BF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,yBAAyB,KAChC,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"machineStatusWriter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/machineStatusWriter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EAE1B,MAAM,8CAA8C,CAAC;AAEtD,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA8BF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,yBAAyB,KAChC,OAAO,CAAC,IAAI,CA4Bd,CAAC"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import { BaseGitHubRepository } from './BaseGitHubRepository';
|
|
2
|
+
import { LocalStorageCacheRepository } from './LocalStorageCacheRepository';
|
|
3
|
+
import { LocalStorageRepository } from './LocalStorageRepository';
|
|
2
4
|
import { ProjectRepository } from '../../domain/usecases/adapter-interfaces/ProjectRepository';
|
|
3
5
|
import { FieldOption, Project } from '../../domain/entities/Project';
|
|
6
|
+
export declare const resolveProjectCacheTtlMs: (rawValue: string | undefined) => number;
|
|
4
7
|
export declare const convertToFieldOptionColor: (color: string) => FieldOption["color"];
|
|
5
8
|
export declare class GraphqlProjectRepository extends BaseGitHubRepository implements Pick<ProjectRepository, 'getProject' | 'findProjectIdByUrl' | 'getByUrl' | 'updateStoryList' | 'updateStatusList'> {
|
|
6
9
|
private readonly projectIdCache;
|
|
7
10
|
private readonly fetchProjectIdFailedAt;
|
|
11
|
+
private readonly projectCache?;
|
|
12
|
+
private readonly projectCacheTtlMs;
|
|
13
|
+
constructor(localStorageRepository: LocalStorageRepository, ghToken?: string, projectCache?: Pick<LocalStorageCacheRepository, 'getLatest' | 'set'>, projectCacheTtlMs?: number);
|
|
14
|
+
private readProjectIdFromDiskCache;
|
|
15
|
+
private writeProjectIdToDiskCache;
|
|
16
|
+
private readProjectFromDiskCache;
|
|
17
|
+
private writeProjectToDiskCache;
|
|
8
18
|
extractProjectFromUrl: (projectUrl: string) => {
|
|
9
19
|
owner: string;
|
|
10
20
|
projectNumber: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphqlProjectRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlProjectRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GraphqlProjectRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlProjectRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAOrE,eAAO,MAAM,wBAAwB,GACnC,UAAU,MAAM,GAAG,SAAS,KAC3B,MASF,CAAC;AAKF,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,KACZ,WAAW,CAAC,OAAO,CAcrB,CAAC;AAEF,qBAAa,wBACX,SAAQ,oBACR,YACE,IAAI,CACF,iBAAiB,EACf,YAAY,GACZ,oBAAoB,GACpB,UAAU,GACV,iBAAiB,GACjB,kBAAkB,CACrB;IAEH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAG5B;IACF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;gBAGzC,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,GAAE,MAAwC,EACjD,YAAY,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,WAAW,GAAG,KAAK,CAAC,EACrE,iBAAiB,GAAE,MAElB;IAOH,OAAO,CAAC,0BAA0B,CAwBhC;IAEF,OAAO,CAAC,yBAAyB,CAe/B;IAEF,OAAO,CAAC,wBAAwB,CAyB9B;IAEF,OAAO,CAAC,uBAAuB,CAe7B;IAEF,qBAAqB,GACnB,YAAY,MAAM,KACjB;QACD,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACvB,CAMC;IACF,cAAc,GACZ,OAAO,MAAM,EACb,eAAe,MAAM,KACpB,OAAO,CAAC,MAAM,CAAC,CA4FhB;IACF,kBAAkB,GAChB,YAAY,MAAM,KACjB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAG9B;IACF,UAAU,GAAU,WAAW,OAAO,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAoNpE;IACF,QAAQ,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC,CAU9C;IACF,eAAe,GACb,SAAS,OAAO,EAChB,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG;QACvC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC9B,CAAC,EAAE,KACH,OAAO,CAAC,WAAW,EAAE,CAAC,CA+CvB;IACF,gBAAgB,GACd,SAAS,OAAO,EAChB,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG;QACxC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC9B,CAAC,EAAE,KACH,OAAO,CAAC,WAAW,EAAE,CAAC,CA4CvB;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalStorageCacheRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/LocalStorageCacheRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,qBAAa,2BAA2B;IAEpC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB;IACvD,QAAQ,CAAC,SAAS;gBADT,sBAAsB,EAAE,sBAAsB,EAC9C,SAAS,SAAgB;IAGpC,SAAS,GACP,KAAK,MAAM,KACV,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,IAAI,CAAC;KACjB,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"LocalStorageCacheRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/LocalStorageCacheRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,qBAAa,2BAA2B;IAEpC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB;IACvD,QAAQ,CAAC,SAAS;gBADT,sBAAsB,EAAE,sBAAsB,EAC9C,SAAS,SAAgB;IAGpC,SAAS,GACP,KAAK,MAAM,KACV,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,IAAI,CAAC;KACjB,GAAG,IAAI,CAAC,CA8BP;IACF,GAAG,GAAU,CAAC,EAAE,KAAK,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,CAQnD;CACH"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare class LocalStorageRepository {
|
|
2
2
|
write: (path: string, value: string) => void;
|
|
3
3
|
read: (path: string) => string | null;
|
|
4
|
+
rename: (oldPath: string, newPath: string) => void;
|
|
4
5
|
listFiles: (dirPath: string) => string[];
|
|
5
6
|
mkdir: (dirPath: string) => void;
|
|
6
7
|
remove: (path: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalStorageRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/LocalStorageRepository.ts"],"names":[],"mappings":"AAEA,qBAAa,sBAAsB;IACjC,KAAK,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,UAIlC;IACF,IAAI,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,IAAI,CAElC;IACF,SAAS,GAAI,SAAS,MAAM,KAAG,MAAM,EAAE,CAKrC;IACF,KAAK,GAAI,SAAS,MAAM,UAEtB;IACF,MAAM,GAAI,MAAM,MAAM,UAKpB;CACH"}
|
|
1
|
+
{"version":3,"file":"LocalStorageRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/LocalStorageRepository.ts"],"names":[],"mappings":"AAEA,qBAAa,sBAAsB;IACjC,KAAK,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,UAIlC;IACF,IAAI,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,IAAI,CAElC;IACF,MAAM,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,UAExC;IACF,SAAS,GAAI,SAAS,MAAM,KAAG,MAAM,EAAE,CAKrC;IACF,KAAK,GAAI,SAAS,MAAM,UAEtB;IACF,MAAM,GAAI,MAAM,MAAM,UAKpB;CACH"}
|
|
@@ -7,17 +7,26 @@ export type LoadAverages = {
|
|
|
7
7
|
fiveMinute: number;
|
|
8
8
|
fifteenMinute: number;
|
|
9
9
|
};
|
|
10
|
+
export type DiskBlocks = {
|
|
11
|
+
blocks: number;
|
|
12
|
+
bfree: number;
|
|
13
|
+
bavail: number;
|
|
14
|
+
};
|
|
10
15
|
export declare const parseMemoryUsedPercent: (meminfoText: string) => number;
|
|
11
16
|
export declare const parseCpuSample: (statText: string) => CpuSample;
|
|
12
17
|
export declare const cpuUsedPercentFromSamples: (first: CpuSample, second: CpuSample) => number;
|
|
18
|
+
export declare const parseDiskUsedPercent: (blocks: number, bfree: number, bavail: number) => number;
|
|
13
19
|
export declare const parseLoadAverages: (loadavgText: string) => LoadAverages;
|
|
14
20
|
export declare const cycleMinutesFromMtimes: (mtimesDescendingSeconds: number[]) => number | null;
|
|
15
21
|
export declare class ProcHostMetricsRepository {
|
|
16
22
|
private readonly procDirectory;
|
|
17
23
|
private readonly sleep;
|
|
18
|
-
|
|
24
|
+
private readonly readDiskBlocks;
|
|
25
|
+
private readonly rootPath;
|
|
26
|
+
constructor(procDirectory?: string, sleep?: (milliseconds: number) => Promise<void>, readDiskBlocks?: (rootPath: string) => DiskBlocks, rootPath?: string);
|
|
19
27
|
readMemoryUsedPercent: () => number;
|
|
20
28
|
readCpuUsedPercent: () => Promise<number>;
|
|
21
29
|
readLoadAverages: () => LoadAverages;
|
|
30
|
+
readDiskUsedPercent: () => number;
|
|
22
31
|
}
|
|
23
32
|
//# sourceMappingURL=ProcHostMetricsRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcHostMetricsRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcHostMetricsRepository.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProcHostMetricsRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcHostMetricsRepository.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAMF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,aAAa,MAAM,KAAG,MA2B5D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,KAAG,SAiBjD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,OAAO,SAAS,EAChB,QAAQ,SAAS,KAChB,MAQF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,QAAQ,MAAM,KACb,MAOF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,aAAa,MAAM,KAAG,YAavD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,yBAAyB,MAAM,EAAE,KAChC,MAAM,GAAG,IAOX,CAAC;AAEF,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAMtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAU/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAjBR,aAAa,GAAE,MAA+B,EAC9C,KAAK,GAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAK1D,EACa,cAAc,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAStD,EACgB,QAAQ,GAAE,MAA0B;IAGvD,qBAAqB,QAAO,MAAM,CAG9B;IAEJ,kBAAkB,QAAa,OAAO,CAAC,MAAM,CAAC,CAS5C;IAEF,gBAAgB,QAAO,YAAY,CAG/B;IAEJ,mBAAmB,QAAO,MAAM,CAG9B;CACH"}
|
|
@@ -8,6 +8,7 @@ export type ComposeDashboardProject = {
|
|
|
8
8
|
export type ComposeDashboardMachineStatus = {
|
|
9
9
|
memPct: number | null;
|
|
10
10
|
cpuPct: number | null;
|
|
11
|
+
diskPct: number | null;
|
|
11
12
|
load: [number, number, number] | null;
|
|
12
13
|
cycleMinutes: number | null;
|
|
13
14
|
};
|
|
@@ -18,7 +19,7 @@ export type ComposeDashboardInput = {
|
|
|
18
19
|
};
|
|
19
20
|
export declare const roundHalfToEven: (value: number) => number;
|
|
20
21
|
export declare const formatResetCountdown: (totalSeconds: number) => string;
|
|
21
|
-
export declare const
|
|
22
|
+
export declare const formatMachineStatusLines: (machineStatus: ComposeDashboardMachineStatus | null) => [string, string];
|
|
22
23
|
export declare const formatProjectHeaderLine: () => string;
|
|
23
24
|
export declare const formatProjectRowLine: (project: ComposeDashboardProject) => string;
|
|
24
25
|
export declare const formatTokenRowLine: (token: TokenStatus) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeDashboardUseCase.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/dashboard/ComposeDashboardUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAoB,MAAM,8BAA8B,CAAC;AAE7E,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACtC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,aAAa,EAAE,6BAA6B,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB,CAAC;AAmDF,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,MAU/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,cAAc,MAAM,KAAG,MAa3D,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"ComposeDashboardUseCase.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/dashboard/ComposeDashboardUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAoB,MAAM,8BAA8B,CAAC;AAE7E,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACtC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,aAAa,EAAE,6BAA6B,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB,CAAC;AAmDF,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,MAU/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,cAAc,MAAM,KAAG,MAa3D,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,eAAe,6BAA6B,GAAG,IAAI,KAClD,CAAC,MAAM,EAAE,MAAM,CAyBjB,CAAC;AAKF,eAAO,MAAM,uBAAuB,QAAO,MAM1C,CAAC;AAkBF,eAAO,MAAM,oBAAoB,GAC/B,SAAS,uBAAuB,KAC/B,MAQF,CAAC;AA6BF,eAAO,MAAM,kBAAkB,GAAI,OAAO,WAAW,KAAG,MAcvD,CAAC;AAKF,qBAAa,uBAAuB;IAClC,GAAG,GAAI,OAAO,qBAAqB,KAAG,MAAM,CAW1C;CACH"}
|