cortex-tms 4.0.0 → 4.0.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.
- package/README.md +22 -12
- package/dist/cli.js +45 -37
- package/dist/cli.js.map +1 -1
- package/dist/commands/archive.d.ts +1 -1
- package/dist/commands/archive.d.ts.map +1 -1
- package/dist/commands/archive.js +36 -34
- package/dist/commands/archive.js.map +1 -1
- package/dist/commands/auto-tier.d.ts +1 -1
- package/dist/commands/auto-tier.d.ts.map +1 -1
- package/dist/commands/auto-tier.js +77 -76
- package/dist/commands/auto-tier.js.map +1 -1
- package/dist/commands/dashboard.d.ts +1 -1
- package/dist/commands/dashboard.js +8 -8
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +73 -73
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/migrate.d.ts +2 -2
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +147 -136
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/prompt.d.ts +1 -1
- package/dist/commands/prompt.d.ts.map +1 -1
- package/dist/commands/prompt.js +32 -31
- package/dist/commands/prompt.js.map +1 -1
- package/dist/commands/review.d.ts +1 -1
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +60 -60
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +51 -45
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/tutorial.d.ts +1 -1
- package/dist/commands/tutorial.js +168 -168
- package/dist/commands/tutorial.js.map +1 -1
- package/dist/commands/validate.d.ts +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +60 -60
- package/dist/commands/validate.js.map +1 -1
- package/dist/types/cli.d.ts +15 -15
- package/dist/types/guardian.d.ts +2 -2
- package/dist/ui/components/Dashboard.d.ts +2 -2
- package/dist/ui/components/Dashboard.d.ts.map +1 -1
- package/dist/ui/components/Dashboard.js +24 -23
- package/dist/ui/components/Dashboard.js.map +1 -1
- package/dist/ui/components/dashboard/ContextReductionCard.d.ts +1 -1
- package/dist/ui/components/dashboard/ContextReductionCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/ContextReductionCard.js +5 -5
- package/dist/ui/components/dashboard/ContextReductionCard.js.map +1 -1
- package/dist/ui/components/dashboard/CostSavingsCard.d.ts +1 -1
- package/dist/ui/components/dashboard/CostSavingsCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/CostSavingsCard.js +7 -7
- package/dist/ui/components/dashboard/CostSavingsCard.js.map +1 -1
- package/dist/ui/components/dashboard/FileDistributionCard.d.ts +1 -1
- package/dist/ui/components/dashboard/FileDistributionCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/FileDistributionCard.js +10 -10
- package/dist/ui/components/dashboard/FileDistributionCard.js.map +1 -1
- package/dist/ui/components/dashboard/FileSizeHealthCard.d.ts +2 -2
- package/dist/ui/components/dashboard/FileSizeHealthCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/FileSizeHealthCard.js +12 -12
- package/dist/ui/components/dashboard/FileSizeHealthCard.js.map +1 -1
- package/dist/ui/components/dashboard/Footer.d.ts +1 -1
- package/dist/ui/components/dashboard/Footer.d.ts.map +1 -1
- package/dist/ui/components/dashboard/Footer.js +2 -2
- package/dist/ui/components/dashboard/Footer.js.map +1 -1
- package/dist/ui/components/dashboard/GovernanceHealthCard.d.ts +3 -3
- package/dist/ui/components/dashboard/GovernanceHealthCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/GovernanceHealthCard.js +17 -14
- package/dist/ui/components/dashboard/GovernanceHealthCard.js.map +1 -1
- package/dist/ui/components/dashboard/GuardianStatusCard.d.ts +2 -2
- package/dist/ui/components/dashboard/GuardianStatusCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/GuardianStatusCard.js +29 -16
- package/dist/ui/components/dashboard/GuardianStatusCard.js.map +1 -1
- package/dist/ui/components/dashboard/Header.d.ts +1 -1
- package/dist/ui/components/dashboard/Header.js +2 -2
- package/dist/ui/components/dashboard/HotFilesCard.d.ts +1 -1
- package/dist/ui/components/dashboard/HotFilesCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/HotFilesCard.js +6 -6
- package/dist/ui/components/dashboard/HotFilesCard.js.map +1 -1
- package/dist/ui/components/dashboard/NotConfiguredCard.d.ts +2 -2
- package/dist/ui/components/dashboard/NotConfiguredCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/NotConfiguredCard.js +3 -3
- package/dist/ui/components/dashboard/NotConfiguredCard.js.map +1 -1
- package/dist/ui/components/dashboard/SprintProgressCard.d.ts +1 -1
- package/dist/ui/components/dashboard/SprintProgressCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/SprintProgressCard.js +4 -4
- package/dist/ui/components/dashboard/SprintProgressCard.js.map +1 -1
- package/dist/ui/components/dashboard/StalenessCard.d.ts +1 -1
- package/dist/ui/components/dashboard/StalenessCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/StalenessCard.js +9 -9
- package/dist/ui/components/dashboard/StalenessCard.js.map +1 -1
- package/dist/ui/components/dashboard/TabBar.d.ts +2 -2
- package/dist/ui/components/dashboard/TabBar.js +7 -7
- package/dist/ui/components/dashboard/TabBar.js.map +1 -1
- package/dist/ui/components/dashboard/ValidationCard.d.ts +2 -2
- package/dist/ui/components/dashboard/ValidationCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/ValidationCard.js +22 -22
- package/dist/ui/components/dashboard/ValidationCard.js.map +1 -1
- package/dist/ui/components/dashboard/ViewContainer.d.ts +3 -3
- package/dist/ui/components/dashboard/ViewContainer.d.ts.map +1 -1
- package/dist/ui/components/dashboard/ViewContainer.js +20 -20
- package/dist/ui/components/dashboard/ViewContainer.js.map +1 -1
- package/dist/ui/components/dashboard/index.d.ts +13 -13
- package/dist/ui/components/dashboard/index.js +13 -13
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +10 -10
- package/dist/ui/index.js.map +1 -1
- package/dist/utils/backup.d.ts.map +1 -1
- package/dist/utils/backup.js +20 -20
- package/dist/utils/backup.js.map +1 -1
- package/dist/utils/config.d.ts +1 -1
- package/dist/utils/config.js +68 -68
- package/dist/utils/detection.d.ts +1 -1
- package/dist/utils/detection.js +25 -25
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +4 -4
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/git-history.d.ts.map +1 -1
- package/dist/utils/git-history.js +9 -5
- package/dist/utils/git-history.js.map +1 -1
- package/dist/utils/git-staleness.d.ts.map +1 -1
- package/dist/utils/git-staleness.js +21 -21
- package/dist/utils/git-staleness.js.map +1 -1
- package/dist/utils/guardian-prompt.d.ts.map +1 -1
- package/dist/utils/guardian-prompt.js +1 -1
- package/dist/utils/guardian-prompt.js.map +1 -1
- package/dist/utils/llm-client.d.ts +5 -5
- package/dist/utils/llm-client.d.ts.map +1 -1
- package/dist/utils/llm-client.js +56 -53
- package/dist/utils/llm-client.js.map +1 -1
- package/dist/utils/prompt-parser.d.ts.map +1 -1
- package/dist/utils/prompt-parser.js +13 -17
- package/dist/utils/prompt-parser.js.map +1 -1
- package/dist/utils/prompts.d.ts +1 -1
- package/dist/utils/prompts.d.ts.map +1 -1
- package/dist/utils/prompts.js +74 -49
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/sanitize.js +6 -6
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/stats-collector.d.ts +3 -9
- package/dist/utils/stats-collector.d.ts.map +1 -1
- package/dist/utils/stats-collector.js +74 -83
- package/dist/utils/stats-collector.js.map +1 -1
- package/dist/utils/status.d.ts +1 -1
- package/dist/utils/status.d.ts.map +1 -1
- package/dist/utils/status.js +16 -16
- package/dist/utils/status.js.map +1 -1
- package/dist/utils/templates.d.ts +3 -3
- package/dist/utils/templates.d.ts.map +1 -1
- package/dist/utils/templates.js +59 -54
- package/dist/utils/templates.js.map +1 -1
- package/dist/utils/tier-tags.d.ts +1 -1
- package/dist/utils/tier-tags.js +2 -2
- package/dist/utils/token-counter.d.ts +1 -43
- package/dist/utils/token-counter.d.ts.map +1 -1
- package/dist/utils/token-counter.js +32 -80
- package/dist/utils/token-counter.js.map +1 -1
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +25 -24
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/validator.d.ts +1 -1
- package/dist/utils/validator.d.ts.map +1 -1
- package/dist/utils/validator.js +97 -90
- package/dist/utils/validator.js.map +1 -1
- package/package.json +7 -5
- package/templates/CLAUDE.md +1 -1
- package/templates/FUTURE-ENHANCEMENTS.md +1 -1
- package/templates/NEXT-TASKS.md +1 -1
- package/templates/PROMPTS.md +1 -1
- package/templates/README.md +1 -1
- package/templates/docs/archive/v1.0-CHANGELOG.md +1 -1
- package/templates/docs/core/ARCHITECTURE.md +1 -1
- package/templates/docs/core/DECISIONS.md +1 -1
- package/templates/docs/core/DOMAIN-LOGIC.md +1 -1
- package/templates/docs/core/GLOSSARY.md +1 -1
- package/templates/docs/core/PATTERNS.md +1 -1
- package/templates/docs/core/SCHEMA.md +1 -1
- package/templates/docs/core/TROUBLESHOOTING.md +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { Box, Text, Newline } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box, Text, Newline } from "ink";
|
|
3
3
|
export const FileDistributionCard = ({ hot, warm, cold, total, }) => {
|
|
4
4
|
const getPercentage = (count) => Math.round((count / total) * 100);
|
|
5
5
|
const getBarLength = (count) => Math.round((count / total) * 20);
|
|
@@ -17,12 +17,12 @@ export const FileDistributionCard = ({ hot, warm, cold, total, }) => {
|
|
|
17
17
|
getPercentage(hot),
|
|
18
18
|
"%)"),
|
|
19
19
|
React.createElement(Box, null,
|
|
20
|
-
React.createElement(Text, { color: "yellow" },
|
|
21
|
-
React.createElement(Text, { dimColor: true },
|
|
20
|
+
React.createElement(Text, { color: "yellow" }, "█".repeat(getBarLength(hot))),
|
|
21
|
+
React.createElement(Text, { dimColor: true }, "░".repeat(20 - getBarLength(hot))))),
|
|
22
22
|
React.createElement(Newline, null),
|
|
23
23
|
React.createElement(Box, null,
|
|
24
24
|
React.createElement(Box, { width: 20 },
|
|
25
|
-
React.createElement(Text, { color: "blue" }, "\uD83C\uDF21\uFE0F
|
|
25
|
+
React.createElement(Text, { color: "blue" }, "\uD83C\uDF21\uFE0F WARM")),
|
|
26
26
|
React.createElement(Box, { width: 8 },
|
|
27
27
|
React.createElement(Text, { color: "white" }, warm)),
|
|
28
28
|
React.createElement(Text, { dimColor: true },
|
|
@@ -30,12 +30,12 @@ export const FileDistributionCard = ({ hot, warm, cold, total, }) => {
|
|
|
30
30
|
getPercentage(warm),
|
|
31
31
|
"%)"),
|
|
32
32
|
React.createElement(Box, null,
|
|
33
|
-
React.createElement(Text, { color: "blue" },
|
|
34
|
-
React.createElement(Text, { dimColor: true },
|
|
33
|
+
React.createElement(Text, { color: "blue" }, "█".repeat(getBarLength(warm))),
|
|
34
|
+
React.createElement(Text, { dimColor: true }, "░".repeat(20 - getBarLength(warm))))),
|
|
35
35
|
React.createElement(Newline, null),
|
|
36
36
|
React.createElement(Box, null,
|
|
37
37
|
React.createElement(Box, { width: 20 },
|
|
38
|
-
React.createElement(Text, { color: "cyan" }, "\u2744\uFE0F
|
|
38
|
+
React.createElement(Text, { color: "cyan" }, "\u2744\uFE0F COLD")),
|
|
39
39
|
React.createElement(Box, { width: 8 },
|
|
40
40
|
React.createElement(Text, { color: "white" }, cold)),
|
|
41
41
|
React.createElement(Text, { dimColor: true },
|
|
@@ -43,8 +43,8 @@ export const FileDistributionCard = ({ hot, warm, cold, total, }) => {
|
|
|
43
43
|
getPercentage(cold),
|
|
44
44
|
"%)"),
|
|
45
45
|
React.createElement(Box, null,
|
|
46
|
-
React.createElement(Text, { color: "cyan" },
|
|
47
|
-
React.createElement(Text, { dimColor: true },
|
|
46
|
+
React.createElement(Text, { color: "cyan" }, "█".repeat(getBarLength(cold))),
|
|
47
|
+
React.createElement(Text, { dimColor: true }, "░".repeat(20 - getBarLength(cold)))))),
|
|
48
48
|
React.createElement(Newline, null),
|
|
49
49
|
React.createElement(Newline, null)));
|
|
50
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileDistributionCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/FileDistributionCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AASzC,MAAM,CAAC,MAAM,oBAAoB,GAAwC,CAAC,EACxE,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,KAAK,GACN,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAEzE,OAAO,CACL;QACE,oBAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"FileDistributionCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/FileDistributionCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
interface FileSizeHealthItem {
|
|
3
3
|
file: string;
|
|
4
4
|
lines: number;
|
|
5
5
|
limit: number;
|
|
6
6
|
percent: number;
|
|
7
|
-
status:
|
|
7
|
+
status: "healthy" | "warning" | "over";
|
|
8
8
|
}
|
|
9
9
|
interface FileSizeHealthCardProps {
|
|
10
10
|
files: FileSizeHealthItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSizeHealthCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/FileSizeHealthCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;CACxC;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"FileSizeHealthCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/FileSizeHealthCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;CACxC;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsEhE,CAAC"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { Box, Text } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
3
|
export const FileSizeHealthCard = ({ files, maxDisplay = 5, }) => {
|
|
4
4
|
const topFiles = files.slice(0, maxDisplay);
|
|
5
|
-
const overLimitCount = files.filter((f) => f.status ===
|
|
5
|
+
const overLimitCount = files.filter((f) => f.status === "over").length;
|
|
6
6
|
const getStatusDisplay = (status) => {
|
|
7
7
|
switch (status) {
|
|
8
|
-
case
|
|
9
|
-
return { emoji:
|
|
10
|
-
case
|
|
11
|
-
return { emoji:
|
|
12
|
-
case
|
|
13
|
-
return { emoji:
|
|
8
|
+
case "over":
|
|
9
|
+
return { emoji: "🔴", color: "red" };
|
|
10
|
+
case "warning":
|
|
11
|
+
return { emoji: "🟡", color: "yellow" };
|
|
12
|
+
case "healthy":
|
|
13
|
+
return { emoji: "🟢", color: "green" };
|
|
14
14
|
default:
|
|
15
|
-
return { emoji:
|
|
15
|
+
return { emoji: "⚪", color: "gray" };
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
return (React.createElement(Box, { flexDirection: "column", paddingY: 1, borderStyle: "round", borderColor: "yellow" },
|
|
@@ -28,7 +28,7 @@ export const FileSizeHealthCard = ({ files, maxDisplay = 5, }) => {
|
|
|
28
28
|
" "),
|
|
29
29
|
React.createElement(Text, { color: color }, file.file.padEnd(30)),
|
|
30
30
|
React.createElement(Text, { dimColor: true },
|
|
31
|
-
|
|
31
|
+
" ",
|
|
32
32
|
file.lines,
|
|
33
33
|
"/",
|
|
34
34
|
file.limit,
|
|
@@ -40,7 +40,7 @@ export const FileSizeHealthCard = ({ files, maxDisplay = 5, }) => {
|
|
|
40
40
|
React.createElement(Text, { color: "red", bold: true },
|
|
41
41
|
overLimitCount,
|
|
42
42
|
" file",
|
|
43
|
-
overLimitCount > 1 ?
|
|
43
|
+
overLimitCount > 1 ? "s" : "",
|
|
44
44
|
" over limit"),
|
|
45
45
|
React.createElement(Text, { dimColor: true }, " \u2022 Run: "),
|
|
46
46
|
React.createElement(Text, { color: "cyan" }, "cortex-tms validate --fix")))))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSizeHealthCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/FileSizeHealthCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAkBhC,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,KAAK,EACL,UAAU,GAAG,CAAC,GACf,EAAE,EAAE;IAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAG5C,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAGvE,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;QAC1C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC;YAChD,KAAK,SAAS;gBACZ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAiB,EAAE,CAAC;YACnD,KAAK,SAAS;gBACZ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAgB,EAAE,CAAC;YAClD;gBACE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAe,EAAE,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"FileSizeHealthCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/FileSizeHealthCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAkBhC,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,KAAK,EACL,UAAU,GAAG,CAAC,GACf,EAAE,EAAE;IAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAG5C,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAGvE,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;QAC1C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC;YAChD,KAAK,SAAS;gBACZ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAiB,EAAE,CAAC;YACnD,KAAK,SAAS;gBACZ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAgB,EAAE,CAAC;YAClD;gBACE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAe,EAAE,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,QAAQ,EAAE,CAAC,EACX,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,QAAQ;QAEpB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;YACd,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,QAAQ,oCAElB,CACH;QAEL,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACvB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;YAC7B,oBAAC,IAAI,IAAC,QAAQ,mCAA8B,CACxC,CACP,CAAC,CAAC,CAAC,CACF;YACG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvD,OAAO,CACL,oBAAC,GAAG,IAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;oBAC7C,oBAAC,IAAI;wBAAE,KAAK;4BAAS;oBACrB,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,IAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAQ;oBACjD,oBAAC,IAAI,IAAC,QAAQ;wBACX,GAAG;wBACH,IAAI,CAAC,KAAK;;wBAAG,IAAI,CAAC,KAAK;;wBAAU,IAAI,CAAC,OAAO;6BACzC,CACH,CACP,CAAC;YACJ,CAAC,CAAC;YAED,cAAc,GAAG,CAAC,IAAI,CACrB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;gBAC7B,oBAAC,IAAI,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI;oBACnB,cAAc;;oBAAO,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;kCAC9C;gBACP,oBAAC,IAAI,IAAC,QAAQ,0BAAgB;gBAC9B,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,gCAAiC,CAC/C,CACP,CACA,CACJ,CACG,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/Footer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/Footer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAa1B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { Box, Text } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
3
|
export const Footer = () => {
|
|
4
4
|
return (React.createElement(Box, { flexDirection: "column", paddingTop: 1 },
|
|
5
5
|
React.createElement(Box, { justifyContent: "center" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/Footer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,CAAC,MAAM,MAAM,GAAa,GAAG,EAAE;IACnC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC;QACvC,oBAAC,GAAG,IAAC,cAAc,EAAC,QAAQ;YAC1B,oBAAC,IAAI,IAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/Footer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,CAAC,MAAM,MAAM,GAAa,GAAG,EAAE;IACnC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC;QACvC,oBAAC,GAAG,IAAC,cAAc,EAAC,QAAQ;YAC1B,oBAAC,IAAI,IAAC,QAAQ,uEAAwD,CAClE;QACN,oBAAC,GAAG,IAAC,cAAc,EAAC,QAAQ;YAC1B,oBAAC,IAAI,IAAC,QAAQ;;gBACR,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aAAc;kDAC/B,CACH,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
interface GovernanceHealthCardProps {
|
|
3
3
|
score: number;
|
|
4
|
-
validationStatus:
|
|
5
|
-
guardianStatus:
|
|
4
|
+
validationStatus: "healthy" | "warnings" | "errors" | "unknown";
|
|
5
|
+
guardianStatus: "compliant" | "minor_issues" | "major_violations" | "unknown";
|
|
6
6
|
staleness: number;
|
|
7
7
|
}
|
|
8
8
|
export declare const GovernanceHealthCard: React.FC<GovernanceHealthCardProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GovernanceHealthCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/GovernanceHealthCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,yBAAyB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChE,cAAc,EAAE,WAAW,GAAG,cAAc,GAAG,kBAAkB,GAAG,SAAS,CAAC;IAC9E,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"GovernanceHealthCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/GovernanceHealthCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,yBAAyB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChE,cAAc,EAAE,WAAW,GAAG,cAAc,GAAG,kBAAkB,GAAG,SAAS,CAAC;IAC9E,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAuEpE,CAAC"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { Box, Text } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
3
|
export const GovernanceHealthCard = ({ score, validationStatus, guardianStatus, staleness, }) => {
|
|
4
4
|
const getScoreColor = (score) => {
|
|
5
5
|
if (score >= 80)
|
|
6
|
-
return
|
|
6
|
+
return "green";
|
|
7
7
|
if (score >= 60)
|
|
8
|
-
return
|
|
9
|
-
return
|
|
8
|
+
return "yellow";
|
|
9
|
+
return "red";
|
|
10
10
|
};
|
|
11
11
|
const getStatusEmoji = () => {
|
|
12
12
|
if (score >= 80)
|
|
13
|
-
return
|
|
13
|
+
return "✅";
|
|
14
14
|
if (score >= 60)
|
|
15
|
-
return
|
|
16
|
-
return
|
|
15
|
+
return "⚠️";
|
|
16
|
+
return "❌";
|
|
17
17
|
};
|
|
18
18
|
const scoreColor = getScoreColor(score);
|
|
19
19
|
return (React.createElement(Box, { flexDirection: "column", paddingY: 1, borderStyle: "round", borderColor: scoreColor },
|
|
@@ -29,15 +29,18 @@ export const GovernanceHealthCard = ({ score, validationStatus, guardianStatus,
|
|
|
29
29
|
React.createElement(Text, { dimColor: true }, "overall quality score")),
|
|
30
30
|
React.createElement(Box, { paddingX: 2, paddingTop: 1 },
|
|
31
31
|
React.createElement(Text, { dimColor: true },
|
|
32
|
-
"Validation:
|
|
33
|
-
|
|
32
|
+
"Validation:",
|
|
33
|
+
" ",
|
|
34
|
+
React.createElement(Text, { color: validationStatus === "healthy" ? "green" : "yellow" }, validationStatus))),
|
|
34
35
|
React.createElement(Box, { paddingX: 2 },
|
|
35
36
|
React.createElement(Text, { dimColor: true },
|
|
36
|
-
"Guardian:
|
|
37
|
-
|
|
37
|
+
"Guardian:",
|
|
38
|
+
" ",
|
|
39
|
+
React.createElement(Text, { color: guardianStatus === "compliant" ? "green" : "yellow" }, guardianStatus))),
|
|
38
40
|
React.createElement(Box, { paddingX: 2 },
|
|
39
41
|
React.createElement(Text, { dimColor: true },
|
|
40
|
-
"Stale docs:
|
|
41
|
-
|
|
42
|
+
"Stale docs:",
|
|
43
|
+
" ",
|
|
44
|
+
React.createElement(Text, { color: staleness === 0 ? "green" : "yellow" }, staleness)))));
|
|
42
45
|
};
|
|
43
46
|
//# sourceMappingURL=GovernanceHealthCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GovernanceHealthCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/GovernanceHealthCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAYhC,MAAM,CAAC,MAAM,oBAAoB,GAAwC,CAAC,EACxE,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,SAAS,GACV,EAAE,EAAE;IAEH,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE;QAC9C,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,OAAO,CAAC;QAChC,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,QAAQ,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAGF,MAAM,cAAc,GAAG,GAAW,EAAE;QAClC,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,GAAG,CAAC;QAC5B,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAExC,OAAO,CACL,oBAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"GovernanceHealthCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/GovernanceHealthCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAYhC,MAAM,CAAC,MAAM,oBAAoB,GAAwC,CAAC,EACxE,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,SAAS,GACV,EAAE,EAAE;IAEH,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE;QAC9C,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,OAAO,CAAC;QAChC,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,QAAQ,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAGF,MAAM,cAAc,GAAG,GAAW,EAAE;QAClC,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,GAAG,CAAC;QAC5B,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAExC,OAAO,CACL,oBAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,QAAQ,EAAE,CAAC,EACX,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,UAAU;QAEvB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;YACd,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,UAAU;gBACzB,cAAc,EAAE;qCACZ,CACH;QAEN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAC,QAAQ;YACtD,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,EAAE,IAAI;gBAC1B,KAAK;uBACD,CACH;QAEN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAC,QAAQ;YACvC,oBAAC,IAAI,IAAC,QAAQ,kCAA6B,CACvC;QAEN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;YAC7B,oBAAC,IAAI,IAAC,QAAQ;;gBACA,GAAG;gBACf,oBAAC,IAAI,IAAC,KAAK,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAC7D,gBAAgB,CACZ,CACF,CACH;QAEN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;YACd,oBAAC,IAAI,IAAC,QAAQ;;gBACF,GAAG;gBACb,oBAAC,IAAI,IAAC,KAAK,EAAE,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAC7D,cAAc,CACV,CACF,CACH;QAEN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;YACd,oBAAC,IAAI,IAAC,QAAQ;;gBACA,GAAG;gBACf,oBAAC,IAAI,IAAC,KAAK,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAG,SAAS,CAAQ,CAChE,CACH,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
interface GuardianStatusCardProps {
|
|
3
|
-
status:
|
|
3
|
+
status: "compliant" | "minor_issues" | "major_violations" | "unknown";
|
|
4
4
|
violationCount: number;
|
|
5
5
|
highConfidenceCount: number;
|
|
6
6
|
lastChecked: Date | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuardianStatusCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/GuardianStatusCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,uBAAuB;IAC/B,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACtE,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;CAC1B;AAKD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"GuardianStatusCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/GuardianStatusCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,uBAAuB;IAC/B,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACtE,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;CAC1B;AAKD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA+FhE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { Box, Text } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
3
|
export const GuardianStatusCard = ({ status, violationCount, highConfidenceCount, lastChecked, }) => {
|
|
4
4
|
const formatTimeAgo = (date) => {
|
|
5
5
|
const now = new Date();
|
|
@@ -8,29 +8,41 @@ export const GuardianStatusCard = ({ status, violationCount, highConfidenceCount
|
|
|
8
8
|
const diffHours = Math.floor(diffMins / 60);
|
|
9
9
|
const diffDays = Math.floor(diffHours / 24);
|
|
10
10
|
if (diffDays > 0)
|
|
11
|
-
return `${diffDays} day${diffDays > 1 ?
|
|
11
|
+
return `${diffDays} day${diffDays > 1 ? "s" : ""} ago`;
|
|
12
12
|
if (diffHours > 0)
|
|
13
|
-
return `${diffHours} hour${diffHours > 1 ?
|
|
13
|
+
return `${diffHours} hour${diffHours > 1 ? "s" : ""} ago`;
|
|
14
14
|
if (diffMins > 0)
|
|
15
|
-
return `${diffMins} minute${diffMins > 1 ?
|
|
16
|
-
return
|
|
15
|
+
return `${diffMins} minute${diffMins > 1 ? "s" : ""} ago`;
|
|
16
|
+
return "just now";
|
|
17
17
|
};
|
|
18
18
|
const getStatusDisplay = () => {
|
|
19
19
|
switch (status) {
|
|
20
|
-
case
|
|
21
|
-
return { emoji:
|
|
22
|
-
case
|
|
23
|
-
return {
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
case "compliant":
|
|
21
|
+
return { emoji: "✅", label: "All Clear", color: "green" };
|
|
22
|
+
case "minor_issues":
|
|
23
|
+
return {
|
|
24
|
+
emoji: "⚠️ ",
|
|
25
|
+
label: "Minor Issues Found",
|
|
26
|
+
color: "yellow",
|
|
27
|
+
};
|
|
28
|
+
case "major_violations":
|
|
29
|
+
return {
|
|
30
|
+
emoji: "❌",
|
|
31
|
+
label: "Major Violations",
|
|
32
|
+
color: "red",
|
|
33
|
+
};
|
|
26
34
|
default:
|
|
27
|
-
return {
|
|
35
|
+
return {
|
|
36
|
+
emoji: "❓",
|
|
37
|
+
label: "Not Reviewed Yet",
|
|
38
|
+
color: "gray",
|
|
39
|
+
};
|
|
28
40
|
}
|
|
29
41
|
};
|
|
30
42
|
const { emoji, label, color } = getStatusDisplay();
|
|
31
43
|
return (React.createElement(Box, { flexDirection: "column", paddingY: 1, borderStyle: "round", borderColor: color },
|
|
32
44
|
React.createElement(Box, { paddingX: 2 },
|
|
33
|
-
React.createElement(Text, { bold: true, color: color }, "\uD83D\uDEE1\uFE0F
|
|
45
|
+
React.createElement(Text, { bold: true, color: color }, "\uD83D\uDEE1\uFE0F GUARDIAN CODE REVIEW")),
|
|
34
46
|
React.createElement(Box, { paddingX: 2, paddingTop: 1 },
|
|
35
47
|
React.createElement(Text, { color: color },
|
|
36
48
|
emoji,
|
|
@@ -47,12 +59,13 @@ export const GuardianStatusCard = ({ status, violationCount, highConfidenceCount
|
|
|
47
59
|
violationCount,
|
|
48
60
|
" total (",
|
|
49
61
|
highConfidenceCount,
|
|
50
|
-
"
|
|
62
|
+
" ",
|
|
63
|
+
"high-confidence)"))))) : (React.createElement(Box, { paddingX: 2, paddingTop: 1 },
|
|
51
64
|
React.createElement(Text, { dimColor: true }, "No reviews performed yet"))),
|
|
52
65
|
React.createElement(Box, { paddingX: 2, paddingTop: 1 },
|
|
53
66
|
React.createElement(Text, { dimColor: true }, "Run: "),
|
|
54
67
|
React.createElement(Text, { color: "cyan" },
|
|
55
68
|
"cortex-tms review ",
|
|
56
|
-
|
|
69
|
+
"<file>"))));
|
|
57
70
|
};
|
|
58
71
|
//# sourceMappingURL=GuardianStatusCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuardianStatusCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/GuardianStatusCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAYhC,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,WAAW,GACZ,EAAE,EAAE;IAEH,MAAM,aAAa,GAAG,CAAC,IAAU,EAAU,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;QAE5C,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,GAAG,QAAQ,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QACzE,IAAI,SAAS,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"GuardianStatusCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/GuardianStatusCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React, { useState, useEffect } from
|
|
2
|
-
import { Box, Text, Newline } from
|
|
1
|
+
import React, { useState, useEffect } from "react";
|
|
2
|
+
import { Box, Text, Newline } from "ink";
|
|
3
3
|
export const Header = ({ projectName }) => {
|
|
4
4
|
const [time, setTime] = useState(new Date());
|
|
5
5
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HotFilesCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/HotFilesCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"HotFilesCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/HotFilesCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkDpD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { Box, Text, Newline } from
|
|
3
|
-
export const HotFilesCard = ({ hotFiles, count }) => {
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box, Text, Newline } from "ink";
|
|
3
|
+
export const HotFilesCard = ({ hotFiles, count, }) => {
|
|
4
4
|
return (React.createElement(React.Fragment, null,
|
|
5
5
|
React.createElement(Box, { flexDirection: "column", borderStyle: "single", borderColor: "yellow", paddingX: 1 },
|
|
6
6
|
React.createElement(Text, { bold: true, color: "yellow" },
|
|
@@ -10,15 +10,15 @@ export const HotFilesCard = ({ hotFiles, count }) => {
|
|
|
10
10
|
React.createElement(Newline, null),
|
|
11
11
|
count > 0 ? (React.createElement(Box, { flexDirection: "column" },
|
|
12
12
|
hotFiles.slice(0, 5).map((file, i) => (React.createElement(Box, { key: i },
|
|
13
|
-
React.createElement(Text, { dimColor: true }, "
|
|
13
|
+
React.createElement(Text, { dimColor: true }, " \u2022 "),
|
|
14
14
|
React.createElement(Text, { color: "white" }, file)))),
|
|
15
15
|
count > 5 && (React.createElement(React.Fragment, null,
|
|
16
16
|
React.createElement(Newline, null),
|
|
17
17
|
React.createElement(Text, { dimColor: true },
|
|
18
|
-
"
|
|
18
|
+
" +",
|
|
19
19
|
count - 5,
|
|
20
20
|
" more files"))))) : (React.createElement(Box, null,
|
|
21
|
-
React.createElement(Text, { dimColor: true }, "
|
|
21
|
+
React.createElement(Text, { dimColor: true }, " No HOT files detected"))),
|
|
22
22
|
React.createElement(Newline, null),
|
|
23
23
|
React.createElement(Box, null,
|
|
24
24
|
React.createElement(Text, { dimColor: true }, "These files are always loaded by AI assistants"))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HotFilesCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/HotFilesCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAOzC,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,
|
|
1
|
+
{"version":3,"file":"HotFilesCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/HotFilesCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAOzC,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACxD,QAAQ,EACR,KAAK,GACN,EAAE,EAAE;IACH,OAAO,CACL;QACE,oBAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC;YAEX,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,QAAQ;;gBACL,KAAK;oBAClB;YAEP,oBAAC,OAAO,OAAG;YAEV,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CACX,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;gBACxB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACrC,oBAAC,GAAG,IAAC,GAAG,EAAE,CAAC;oBACT,oBAAC,IAAI,IAAC,QAAQ,qBAAW;oBACzB,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,IAAE,IAAI,CAAQ,CAC7B,CACP,CAAC;gBACD,KAAK,GAAG,CAAC,IAAI,CACZ;oBACE,oBAAC,OAAO,OAAG;oBACX,oBAAC,IAAI,IAAC,QAAQ;;wBAAI,KAAK,GAAG,CAAC;sCAAmB,CAC7C,CACJ,CACG,CACP,CAAC,CAAC,CAAC,CACF,oBAAC,GAAG;gBACF,oBAAC,IAAI,IAAC,QAAQ,mCAA8B,CACxC,CACP;YAED,oBAAC,OAAO,OAAG;YAEX,oBAAC,GAAG;gBACF,oBAAC,IAAI,IAAC,QAAQ,2DAAsD,CAChE,CACF;QAEN,oBAAC,OAAO,OAAG;QACX,oBAAC,OAAO,OAAG,CACV,CACJ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
interface NotConfiguredCardProps {
|
|
3
3
|
title: string;
|
|
4
4
|
message: string;
|
|
5
5
|
icon?: string;
|
|
6
|
-
color?:
|
|
6
|
+
color?: "gray" | "yellow" | "cyan";
|
|
7
7
|
}
|
|
8
8
|
export declare const NotConfiguredCard: React.FC<NotConfiguredCardProps>;
|
|
9
9
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotConfiguredCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/NotConfiguredCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CACpC;AAKD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"NotConfiguredCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/NotConfiguredCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CACpC;AAKD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAwB9D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { Box, Text } from
|
|
3
|
-
export const NotConfiguredCard = ({ title, message, icon =
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
export const NotConfiguredCard = ({ title, message, icon = "⚙️ ", color = "gray", }) => {
|
|
4
4
|
return (React.createElement(Box, { flexDirection: "column", paddingY: 1, borderStyle: "round", borderColor: color },
|
|
5
5
|
React.createElement(Box, { paddingX: 2 },
|
|
6
6
|
React.createElement(Text, { bold: true, color: color },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotConfiguredCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/NotConfiguredCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAYhC,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAClE,KAAK,EACL,OAAO,EACP,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,MAAM,GACf,EAAE,EAAE;IACH,OAAO,CACL,oBAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"NotConfiguredCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/NotConfiguredCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAYhC,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAClE,KAAK,EACL,OAAO,EACP,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,MAAM,GACf,EAAE,EAAE;IACH,OAAO,CACL,oBAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,QAAQ,EAAE,CAAC,EACX,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,KAAK;QAElB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;YACd,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,KAAK;gBACpB,IAAI;;gBAAG,KAAK,CACR,CACH;QAEN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;YAC7B,oBAAC,IAAI,IAAC,QAAQ,UAAE,OAAO,CAAQ,CAC3B,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SprintProgressCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/SprintProgressCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,uBAAuB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"SprintProgressCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/SprintProgressCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,uBAAuB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAgDhE,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { Box, Text } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
3
|
export const SprintProgressCard = ({ sprintName, progress, done, inProgress, todo, }) => {
|
|
4
4
|
const barWidth = 40;
|
|
5
5
|
const filled = Math.round((progress / 100) * barWidth);
|
|
6
6
|
const empty = barWidth - filled;
|
|
7
|
-
const progressBar =
|
|
7
|
+
const progressBar = "█".repeat(filled) + "░".repeat(empty);
|
|
8
8
|
return (React.createElement(Box, { flexDirection: "column", paddingY: 1, borderStyle: "round", borderColor: "cyan" },
|
|
9
9
|
React.createElement(Box, { paddingX: 2 },
|
|
10
10
|
React.createElement(Text, { bold: true, color: "cyan" }, "\uD83C\uDFAF SPRINT PROGRESS")),
|
|
@@ -14,7 +14,7 @@ export const SprintProgressCard = ({ sprintName, progress, done, inProgress, tod
|
|
|
14
14
|
React.createElement(Box, { paddingX: 2, paddingTop: 1 },
|
|
15
15
|
React.createElement(Text, { color: "green" }, progressBar),
|
|
16
16
|
React.createElement(Text, { color: "cyan", bold: true },
|
|
17
|
-
|
|
17
|
+
" ",
|
|
18
18
|
progress,
|
|
19
19
|
"%")),
|
|
20
20
|
React.createElement(Box, { paddingX: 2, paddingTop: 1 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SprintProgressCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/SprintProgressCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAahC,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,IAAI,GACL,EAAE,EAAE;IAEH,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3D,OAAO,CACL,oBAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"SprintProgressCard.js","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/SprintProgressCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAahC,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,IAAI,GACL,EAAE,EAAE;IAEH,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3D,OAAO,CACL,oBAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,QAAQ,EAAE,CAAC,EACX,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,MAAM;QAElB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;YACd,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,mCAEhB,CACH;QAEN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;YAC7B,oBAAC,IAAI,IAAC,QAAQ,sBAAiB;YAC/B,oBAAC,IAAI,QAAE,UAAU,CAAQ,CACrB;QAEN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;YAC7B,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,IAAE,WAAW,CAAQ;YACxC,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI;gBACpB,GAAG;gBACH,QAAQ;oBACJ,CACH;QAEN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;YAC7B,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;gBAAU,IAAI,CAAQ;YACzC,oBAAC,IAAI,IAAC,QAAQ,gBAAW;YACzB,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ;;gBAAkB,UAAU,CAAQ;YACxD,oBAAC,IAAI,IAAC,QAAQ,gBAAW;YACzB,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;;gBAAW,IAAI,CAAQ,CACrC,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StalenessCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/StalenessCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,kBAAkB;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAKD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"StalenessCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/dashboard/StalenessCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,kBAAkB;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAKD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA6EtD,CAAC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { Box, Text, Newline } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box, Text, Newline } from "ink";
|
|
3
3
|
export const StalenessCard = ({ staleDocsCount, totalDocsCount, freshnessPercent, oldestDocDays, }) => {
|
|
4
4
|
const isFresh = staleDocsCount === 0;
|
|
5
|
-
const color = isFresh ?
|
|
5
|
+
const color = isFresh ? "green" : freshnessPercent >= 70 ? "yellow" : "red";
|
|
6
6
|
return (React.createElement(React.Fragment, null,
|
|
7
7
|
React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: color, padding: 1 },
|
|
8
8
|
React.createElement(Box, { justifyContent: "center" },
|
|
9
9
|
React.createElement(Text, { bold: true, color: color }, "\uD83D\uDCC5 DOCUMENTATION FRESHNESS")),
|
|
10
10
|
React.createElement(Newline, null),
|
|
11
11
|
React.createElement(Box, { justifyContent: "center" },
|
|
12
|
-
React.createElement(Text, { bold: true, color: color, dimColor: false },
|
|
12
|
+
React.createElement(Text, { bold: true, color: color, dimColor: false }, "█".repeat(Math.min(40, Math.round(freshnessPercent / 2.5))))),
|
|
13
13
|
React.createElement(Newline, null),
|
|
14
14
|
React.createElement(Box, { justifyContent: "center" },
|
|
15
15
|
React.createElement(Text, { bold: true, color: color },
|
|
@@ -20,7 +20,7 @@ export const StalenessCard = ({ staleDocsCount, totalDocsCount, freshnessPercent
|
|
|
20
20
|
React.createElement(Box, { justifyContent: "center" },
|
|
21
21
|
React.createElement(Text, { dimColor: true },
|
|
22
22
|
"Fresh docs:",
|
|
23
|
-
|
|
23
|
+
" ",
|
|
24
24
|
React.createElement(Text, { color: color },
|
|
25
25
|
totalDocsCount - staleDocsCount,
|
|
26
26
|
"/",
|
|
@@ -28,15 +28,15 @@ export const StalenessCard = ({ staleDocsCount, totalDocsCount, freshnessPercent
|
|
|
28
28
|
oldestDocDays !== undefined && oldestDocDays > 0 && (React.createElement(Box, { justifyContent: "center" },
|
|
29
29
|
React.createElement(Text, { dimColor: true },
|
|
30
30
|
"Oldest:",
|
|
31
|
-
|
|
32
|
-
React.createElement(Text, { color: oldestDocDays > 60 ?
|
|
31
|
+
" ",
|
|
32
|
+
React.createElement(Text, { color: oldestDocDays > 60 ? "red" : "yellow" },
|
|
33
33
|
oldestDocDays,
|
|
34
34
|
" days")))),
|
|
35
35
|
React.createElement(Box, { justifyContent: "center" },
|
|
36
36
|
React.createElement(Text, { dimColor: true },
|
|
37
37
|
"Status:",
|
|
38
|
-
|
|
39
|
-
React.createElement(Text, { color: color }, isFresh ?
|
|
38
|
+
" ",
|
|
39
|
+
React.createElement(Text, { color: color }, isFresh ? "All docs current" : `${staleDocsCount} need review`)))),
|
|
40
40
|
React.createElement(Newline, null),
|
|
41
41
|
React.createElement(Newline, null)));
|
|
42
42
|
};
|