auq-mcp-server 2.6.3 → 2.7.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/README.md +56 -2
- package/dist/bin/auq.js +36 -3
- package/dist/bin/tui-app.js +30 -15
- package/dist/package.json +7 -2
- package/dist/src/__tests__/schema-validation.test.js +61 -1
- package/dist/src/cli/commands/__tests__/fetch-answers.test.js +310 -0
- package/dist/src/cli/commands/__tests__/history.test.js +211 -0
- package/dist/src/cli/commands/answer.js +11 -0
- package/dist/src/cli/commands/config.js +48 -0
- package/dist/src/cli/commands/fetch-answers.js +205 -0
- package/dist/src/cli/commands/history.js +375 -0
- package/dist/src/config/__tests__/ConfigLoader.test.js +38 -0
- package/dist/src/config/defaults.js +1 -0
- package/dist/src/config/types.js +1 -0
- package/dist/src/core/ask-user-questions.js +63 -0
- package/dist/src/i18n/locales/en.js +2 -2
- package/dist/src/server.js +59 -2
- package/dist/src/session/ResponseFormatter.js +79 -2
- package/dist/src/session/SessionManager.js +36 -0
- package/dist/src/session/__tests__/ResponseFormatter.test.js +86 -0
- package/dist/src/session/__tests__/SessionManager.test.js +129 -0
- package/dist/src/shared/schemas.js +8 -0
- package/dist/src/tui/ThemeProvider.js +3 -3
- package/dist/src/tui/components/Header.js +2 -1
- package/dist/src/tui/components/OptionsList.js +1 -1
- package/dist/src/tui/components/SessionPicker.js +1 -1
- package/dist/src/tui/components/StepperView.js +1 -1
- package/dist/src/tui/components/__tests__/ConfirmationDialog.test.js +1 -1
- package/dist/src/tui/components/__tests__/Footer.test.js +1 -1
- package/dist/src/tui/components/__tests__/MarkdownPrompt.test.js +1 -1
- package/dist/src/tui/components/__tests__/ReviewScreen.test.js +1 -1
- package/dist/src/tui/components/__tests__/SessionDots.test.js +1 -1
- package/dist/src/tui/components/__tests__/SessionPicker.test.js +1 -1
- package/dist/src/tui/components/__tests__/StepperView.abandoned.test.js +1 -1
- package/dist/src/tui/components/__tests__/StepperView.keyboard.test.js +1 -1
- package/dist/src/tui/components/__tests__/StepperView.state.test.js +1 -1
- package/dist/src/tui/components/__tests__/WaitingScreen.test.js +1 -1
- package/dist/src/tui/shared/session-events.js +4 -0
- package/dist/src/tui/shared/themes/catppuccin-latte.js +130 -0
- package/dist/src/tui/shared/themes/catppuccin-mocha.js +131 -0
- package/dist/src/tui/shared/themes/dark.js +131 -0
- package/dist/src/tui/shared/themes/dracula.js +131 -0
- package/dist/src/tui/shared/themes/github-dark.js +129 -0
- package/dist/src/tui/shared/themes/github-light.js +129 -0
- package/dist/src/tui/shared/themes/gruvbox-dark.js +130 -0
- package/dist/src/tui/shared/themes/gruvbox-light.js +130 -0
- package/dist/src/tui/shared/themes/index.js +70 -0
- package/dist/src/tui/shared/themes/light.js +130 -0
- package/dist/src/tui/shared/themes/loader.js +111 -0
- package/dist/src/tui/shared/themes/monokai.js +132 -0
- package/dist/src/tui/shared/themes/nord.js +130 -0
- package/dist/src/tui/shared/themes/one-dark.js +131 -0
- package/dist/src/tui/shared/themes/rose-pine.js +131 -0
- package/dist/src/tui/shared/themes/solarized-dark.js +130 -0
- package/dist/src/tui/shared/themes/solarized-light.js +130 -0
- package/dist/src/tui/shared/themes/tokyo-night.js +131 -0
- package/dist/src/tui/shared/themes/types.js +1 -0
- package/dist/src/tui/shared/types.js +1 -0
- package/dist/src/tui/shared/utils/config.js +80 -0
- package/dist/src/tui/shared/utils/detectTheme.js +33 -0
- package/dist/src/tui/shared/utils/index.js +6 -0
- package/dist/src/tui/shared/utils/recommended.js +52 -0
- package/dist/src/tui/shared/utils/relativeTime.js +24 -0
- package/dist/src/tui/shared/utils/sessionSwitching.js +56 -0
- package/dist/src/tui/shared/utils/staleDetection.js +51 -0
- package/dist/src/tui/themes/catppuccin-latte.js +2 -127
- package/dist/src/tui/themes/catppuccin-mocha.js +2 -127
- package/dist/src/tui/themes/dark.js +2 -128
- package/dist/src/tui/themes/dracula.js +2 -127
- package/dist/src/tui/themes/github-dark.js +2 -126
- package/dist/src/tui/themes/github-light.js +2 -126
- package/dist/src/tui/themes/gruvbox-dark.js +2 -127
- package/dist/src/tui/themes/gruvbox-light.js +2 -127
- package/dist/src/tui/themes/index.js +2 -70
- package/dist/src/tui/themes/light.js +2 -127
- package/dist/src/tui/themes/loader.js +2 -111
- package/dist/src/tui/themes/monokai.js +2 -128
- package/dist/src/tui/themes/nord.js +2 -127
- package/dist/src/tui/themes/one-dark.js +2 -127
- package/dist/src/tui/themes/rose-pine.js +2 -128
- package/dist/src/tui/themes/solarized-dark.js +2 -127
- package/dist/src/tui/themes/solarized-light.js +2 -127
- package/dist/src/tui/themes/tokyo-night.js +2 -127
- package/dist/src/tui/themes/types.js +2 -1
- package/dist/src/tui/types.js +1 -1
- package/dist/src/tui/utils/__tests__/recommended.test.js +1 -1
- package/dist/src/tui/utils/__tests__/relativeTime.test.js +1 -1
- package/dist/src/tui/utils/__tests__/sessionSwitching.test.js +1 -1
- package/dist/src/tui/utils/__tests__/staleDetection.test.js +1 -1
- package/dist/src/tui/utils/config.js +1 -80
- package/dist/src/tui/utils/detectTheme.js +1 -22
- package/dist/src/tui/utils/recommended.js +1 -52
- package/dist/src/tui/utils/relativeTime.js +1 -24
- package/dist/src/tui/utils/sessionSwitching.js +1 -56
- package/dist/src/tui/utils/staleDetection.js +1 -51
- package/package.json +7 -2
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { cleanup, render } from "ink-testing-library";
|
|
3
3
|
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
4
4
|
import { ThemeContext } from "../../ThemeContext.js";
|
|
5
|
-
import { darkTheme } from "../../themes/dark.js";
|
|
5
|
+
import { darkTheme } from "../../shared/themes/dark.js";
|
|
6
6
|
import { MarkdownPrompt } from "../MarkdownPrompt.js";
|
|
7
7
|
const mockThemeValue = {
|
|
8
8
|
theme: darkTheme,
|
|
@@ -17,7 +17,7 @@ vi.mock("ink", async () => {
|
|
|
17
17
|
};
|
|
18
18
|
});
|
|
19
19
|
import { ThemeContext } from "../../ThemeContext.js";
|
|
20
|
-
import { darkTheme } from "../../themes/dark.js";
|
|
20
|
+
import { darkTheme } from "../../shared/themes/dark.js";
|
|
21
21
|
import { ReviewScreen } from "../ReviewScreen.js";
|
|
22
22
|
const mockThemeValue = {
|
|
23
23
|
theme: darkTheme,
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { cleanup, render } from "ink-testing-library";
|
|
3
3
|
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
4
4
|
import { ThemeContext } from "../../ThemeContext.js";
|
|
5
|
-
import { darkTheme } from "../../themes/dark.js";
|
|
5
|
+
import { darkTheme } from "../../shared/themes/dark.js";
|
|
6
6
|
import { SessionDots } from "../SessionDots.js";
|
|
7
7
|
const mockThemeValue = {
|
|
8
8
|
theme: darkTheme,
|
|
@@ -16,7 +16,7 @@ vi.mock("ink", async () => {
|
|
|
16
16
|
};
|
|
17
17
|
});
|
|
18
18
|
import { ThemeContext } from "../../ThemeContext.js";
|
|
19
|
-
import { darkTheme } from "../../themes/dark.js";
|
|
19
|
+
import { darkTheme } from "../../shared/themes/dark.js";
|
|
20
20
|
import { SessionPicker, } from "../SessionPicker.js";
|
|
21
21
|
const mockThemeValue = {
|
|
22
22
|
theme: darkTheme,
|
|
@@ -3,7 +3,7 @@ import { cleanup, render } from "ink-testing-library";
|
|
|
3
3
|
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
4
4
|
import { ConfigProvider } from "../../ConfigContext.js";
|
|
5
5
|
import { ThemeContext } from "../../ThemeContext.js";
|
|
6
|
-
import { darkTheme } from "../../themes/dark.js";
|
|
6
|
+
import { darkTheme } from "../../shared/themes/dark.js";
|
|
7
7
|
import { StepperView } from "../StepperView.js";
|
|
8
8
|
const mockThemeValue = {
|
|
9
9
|
theme: darkTheme,
|
|
@@ -3,7 +3,7 @@ import { cleanup, render } from "ink-testing-library";
|
|
|
3
3
|
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
4
4
|
import { ConfigProvider } from "../../ConfigContext.js";
|
|
5
5
|
import { ThemeContext } from "../../ThemeContext.js";
|
|
6
|
-
import { darkTheme } from "../../themes/dark.js";
|
|
6
|
+
import { darkTheme } from "../../shared/themes/dark.js";
|
|
7
7
|
import { StepperView } from "../StepperView.js";
|
|
8
8
|
const mockThemeValue = {
|
|
9
9
|
theme: darkTheme,
|
|
@@ -3,7 +3,7 @@ import { cleanup, render } from "ink-testing-library";
|
|
|
3
3
|
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
4
4
|
import { ConfigProvider } from "../../ConfigContext.js";
|
|
5
5
|
import { ThemeContext } from "../../ThemeContext.js";
|
|
6
|
-
import { darkTheme } from "../../themes/dark.js";
|
|
6
|
+
import { darkTheme } from "../../shared/themes/dark.js";
|
|
7
7
|
import { StepperView } from "../StepperView.js";
|
|
8
8
|
const mockThemeValue = {
|
|
9
9
|
theme: darkTheme,
|
|
@@ -21,7 +21,7 @@ vi.mock("../AnimatedGradient.js", () => ({
|
|
|
21
21
|
AnimatedGradient: ({ text }) => React.createElement("ink-text", null, text),
|
|
22
22
|
}));
|
|
23
23
|
import { ThemeContext } from "../../ThemeContext.js";
|
|
24
|
-
import { darkTheme } from "../../themes/dark.js";
|
|
24
|
+
import { darkTheme } from "../../shared/themes/dark.js";
|
|
25
25
|
import { WaitingScreen } from "../WaitingScreen.js";
|
|
26
26
|
const mockThemeValue = {
|
|
27
27
|
theme: darkTheme,
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Catppuccin Latte Theme
|
|
3
|
+
* Soothing pastel theme - light flavor.
|
|
4
|
+
* https://github.com/catppuccin/catppuccin
|
|
5
|
+
*/
|
|
6
|
+
export const catppuccinLatteTheme = {
|
|
7
|
+
name: "catppuccin-latte",
|
|
8
|
+
gradient: {
|
|
9
|
+
start: "#1e66f5", // blue
|
|
10
|
+
middle: "#8839ef", // mauve
|
|
11
|
+
end: "#1e66f5",
|
|
12
|
+
},
|
|
13
|
+
colors: {
|
|
14
|
+
bg: "#EFF1F5",
|
|
15
|
+
surface: "#E6E9EF",
|
|
16
|
+
surfaceAlt: "#CCD0DA",
|
|
17
|
+
primary: "#1e66f5", // blue
|
|
18
|
+
success: "#40a02b", // green
|
|
19
|
+
warning: "#df8e1d", // yellow
|
|
20
|
+
error: "#d20f39", // red
|
|
21
|
+
info: "#04a5e5", // sky
|
|
22
|
+
focused: "#1e66f5",
|
|
23
|
+
selected: "#40a02b",
|
|
24
|
+
pending: "#fe640b", // peach
|
|
25
|
+
unansweredHighlight: "#d20f39",
|
|
26
|
+
text: "#4c4f69", // text
|
|
27
|
+
textDim: "#8C90A0", // overlay0 darkened for visibility
|
|
28
|
+
textBold: "#4c4f69",
|
|
29
|
+
},
|
|
30
|
+
borders: {
|
|
31
|
+
primary: "#1e66f5",
|
|
32
|
+
warning: "#df8e1d",
|
|
33
|
+
error: "#d20f39",
|
|
34
|
+
neutral: "#ccd0da", // surface0
|
|
35
|
+
},
|
|
36
|
+
components: {
|
|
37
|
+
header: {
|
|
38
|
+
border: "#9ca0b0", // overlay0 - slightly more visible
|
|
39
|
+
queueActive: "#1e66f5",
|
|
40
|
+
queueEmpty: "#acb0c0",
|
|
41
|
+
queueFlash: "#8839ef",
|
|
42
|
+
pillBg: "#ccd0da",
|
|
43
|
+
},
|
|
44
|
+
directory: {
|
|
45
|
+
label: "#8C90A0",
|
|
46
|
+
path: "#4c4f69",
|
|
47
|
+
},
|
|
48
|
+
tabBar: {
|
|
49
|
+
selected: "#4c4f69",
|
|
50
|
+
selectedBg: "#ccd0da",
|
|
51
|
+
default: "#8C90A0",
|
|
52
|
+
answered: "#40a02b",
|
|
53
|
+
unanswered: "#acb0c0",
|
|
54
|
+
divider: "#ccd0da",
|
|
55
|
+
},
|
|
56
|
+
options: {
|
|
57
|
+
focused: "#40a02b",
|
|
58
|
+
focusedBg: "#ccd0da",
|
|
59
|
+
selected: "#1e66f5",
|
|
60
|
+
selectedBg: "#ccd0da",
|
|
61
|
+
default: "#4c4f69",
|
|
62
|
+
description: "#6c6f85", // subtext0 - darker for readability
|
|
63
|
+
hint: "#6c6f85", // subtext0 - darker for readability
|
|
64
|
+
},
|
|
65
|
+
input: {
|
|
66
|
+
border: "#ccd0da",
|
|
67
|
+
borderFocused: "#1e66f5",
|
|
68
|
+
placeholder: "#acb0c0",
|
|
69
|
+
cursor: "#1e66f5",
|
|
70
|
+
cursorDim: "#8839ef",
|
|
71
|
+
},
|
|
72
|
+
review: {
|
|
73
|
+
border: "#ccd0da",
|
|
74
|
+
confirmBorder: "#1e66f5",
|
|
75
|
+
selectedOption: "#40a02b",
|
|
76
|
+
customAnswer: "#df8e1d",
|
|
77
|
+
questionId: "#acb0c0",
|
|
78
|
+
divider: "#ccd0da",
|
|
79
|
+
},
|
|
80
|
+
questionDisplay: {
|
|
81
|
+
questionId: "#1e66f5",
|
|
82
|
+
typeIndicator: "#acb0c0",
|
|
83
|
+
elapsed: "#acb0c0",
|
|
84
|
+
},
|
|
85
|
+
footer: {
|
|
86
|
+
border: "#ccd0da",
|
|
87
|
+
keyBg: "#ccd0da",
|
|
88
|
+
keyFg: "#1e66f5",
|
|
89
|
+
action: "#7c7f93", // overlay1 - darker for visibility
|
|
90
|
+
separator: "#ccd0da",
|
|
91
|
+
},
|
|
92
|
+
toast: {
|
|
93
|
+
success: "#40a02b",
|
|
94
|
+
successPillBg: "#dce0e8",
|
|
95
|
+
error: "#d20f39",
|
|
96
|
+
info: "#1e66f5",
|
|
97
|
+
warning: "#df8e1d",
|
|
98
|
+
border: "#ccd0da",
|
|
99
|
+
},
|
|
100
|
+
markdown: {
|
|
101
|
+
codeBlockBg: "#eff1f5",
|
|
102
|
+
codeBlockText: "#4c4f69",
|
|
103
|
+
codeBlockBorder: "#ccd0da",
|
|
104
|
+
},
|
|
105
|
+
sessionDots: {
|
|
106
|
+
active: "#1e66f5",
|
|
107
|
+
answered: "#40a02b",
|
|
108
|
+
inProgress: "#df8e1d",
|
|
109
|
+
untouched: "#acb0c0",
|
|
110
|
+
number: "#4c4f69",
|
|
111
|
+
activeNumber: "#1e66f5",
|
|
112
|
+
stale: "#df8e1d",
|
|
113
|
+
abandoned: "#d20f39",
|
|
114
|
+
},
|
|
115
|
+
sessionPicker: {
|
|
116
|
+
border: "#1e66f5",
|
|
117
|
+
title: "#1e66f5",
|
|
118
|
+
rowText: "#4c4f69",
|
|
119
|
+
rowDim: "#acb0c0",
|
|
120
|
+
highlightBg: "#ccd0da",
|
|
121
|
+
highlightFg: "#40a02b",
|
|
122
|
+
activeMark: "#1e66f5",
|
|
123
|
+
progress: "#04a5e5",
|
|
124
|
+
staleIcon: "#df8e1d",
|
|
125
|
+
staleText: "#df8e1d",
|
|
126
|
+
staleAge: "#df8e1d",
|
|
127
|
+
staleSubtitle: "#acb0c0",
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
};
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Catppuccin Mocha Theme
|
|
3
|
+
* Soothing pastel theme - darkest flavor.
|
|
4
|
+
* https://github.com/catppuccin/catppuccin
|
|
5
|
+
*/
|
|
6
|
+
export const catppuccinMochaTheme = {
|
|
7
|
+
name: "catppuccin-mocha",
|
|
8
|
+
gradient: {
|
|
9
|
+
start: "#89b4fa", // blue
|
|
10
|
+
middle: "#cba6f7", // mauve
|
|
11
|
+
end: "#89b4fa",
|
|
12
|
+
},
|
|
13
|
+
colors: {
|
|
14
|
+
// Background layers (OpenCode-style filled surfaces)
|
|
15
|
+
bg: "#181825",
|
|
16
|
+
surface: "#1E1E2E",
|
|
17
|
+
surfaceAlt: "#313244",
|
|
18
|
+
primary: "#89b4fa", // blue
|
|
19
|
+
success: "#a6e3a1", // green
|
|
20
|
+
warning: "#f9e2af", // yellow
|
|
21
|
+
error: "#f38ba8", // red
|
|
22
|
+
info: "#89dceb", // sky
|
|
23
|
+
focused: "#89b4fa",
|
|
24
|
+
selected: "#a6e3a1",
|
|
25
|
+
pending: "#fab387", // peach
|
|
26
|
+
unansweredHighlight: "#f38ba8",
|
|
27
|
+
text: "#cdd6f4", // text
|
|
28
|
+
textDim: "#9395B0", // overlay0 brightened
|
|
29
|
+
textBold: "#cdd6f4",
|
|
30
|
+
},
|
|
31
|
+
borders: {
|
|
32
|
+
primary: "#89b4fa",
|
|
33
|
+
warning: "#f9e2af",
|
|
34
|
+
error: "#f38ba8",
|
|
35
|
+
neutral: "#313244", // surface0
|
|
36
|
+
},
|
|
37
|
+
components: {
|
|
38
|
+
header: {
|
|
39
|
+
border: "#45475a", // surface1 - slightly more visible
|
|
40
|
+
queueActive: "#89b4fa",
|
|
41
|
+
queueEmpty: "#8688a0",
|
|
42
|
+
queueFlash: "#cba6f7",
|
|
43
|
+
pillBg: "#313244",
|
|
44
|
+
},
|
|
45
|
+
directory: {
|
|
46
|
+
label: "#8688a0",
|
|
47
|
+
path: "#cdd6f4",
|
|
48
|
+
},
|
|
49
|
+
tabBar: {
|
|
50
|
+
selected: "#cdd6f4",
|
|
51
|
+
selectedBg: "#313244",
|
|
52
|
+
default: "#8688a0",
|
|
53
|
+
answered: "#a6e3a1",
|
|
54
|
+
unanswered: "#8688a0",
|
|
55
|
+
divider: "#313244",
|
|
56
|
+
},
|
|
57
|
+
options: {
|
|
58
|
+
focused: "#a6e3a1",
|
|
59
|
+
focusedBg: "#313244",
|
|
60
|
+
selected: "#89b4fa",
|
|
61
|
+
selectedBg: "#313244",
|
|
62
|
+
default: "#cdd6f4",
|
|
63
|
+
description: "#a6adc8", // subtext0 - lighter for readability
|
|
64
|
+
hint: "#a6adc8", // subtext0 - lighter for readability
|
|
65
|
+
},
|
|
66
|
+
input: {
|
|
67
|
+
border: "#313244",
|
|
68
|
+
borderFocused: "#89b4fa",
|
|
69
|
+
placeholder: "#8688a0",
|
|
70
|
+
cursor: "#89b4fa",
|
|
71
|
+
cursorDim: "#cba6f7",
|
|
72
|
+
},
|
|
73
|
+
review: {
|
|
74
|
+
border: "#313244",
|
|
75
|
+
confirmBorder: "#89b4fa",
|
|
76
|
+
selectedOption: "#a6e3a1",
|
|
77
|
+
customAnswer: "#f9e2af",
|
|
78
|
+
questionId: "#8688a0",
|
|
79
|
+
divider: "#313244",
|
|
80
|
+
},
|
|
81
|
+
questionDisplay: {
|
|
82
|
+
questionId: "#89b4fa",
|
|
83
|
+
typeIndicator: "#8688a0",
|
|
84
|
+
elapsed: "#8688a0",
|
|
85
|
+
},
|
|
86
|
+
footer: {
|
|
87
|
+
border: "#313244",
|
|
88
|
+
keyBg: "#313244",
|
|
89
|
+
keyFg: "#89b4fa",
|
|
90
|
+
action: "#A5AABF", // overlay2 - brighter for visibility
|
|
91
|
+
separator: "#313244",
|
|
92
|
+
},
|
|
93
|
+
toast: {
|
|
94
|
+
success: "#a6e3a1",
|
|
95
|
+
successPillBg: "#313244",
|
|
96
|
+
error: "#f38ba8",
|
|
97
|
+
info: "#89b4fa",
|
|
98
|
+
warning: "#f9e2af",
|
|
99
|
+
border: "#313244",
|
|
100
|
+
},
|
|
101
|
+
markdown: {
|
|
102
|
+
codeBlockBg: "#1e1e2e",
|
|
103
|
+
codeBlockText: "#cdd6f4",
|
|
104
|
+
codeBlockBorder: "#313244",
|
|
105
|
+
},
|
|
106
|
+
sessionDots: {
|
|
107
|
+
active: "#89b4fa",
|
|
108
|
+
answered: "#a6e3a1",
|
|
109
|
+
inProgress: "#f9e2af",
|
|
110
|
+
untouched: "#8688a0",
|
|
111
|
+
number: "#cdd6f4",
|
|
112
|
+
activeNumber: "#89b4fa",
|
|
113
|
+
stale: "#f9e2af",
|
|
114
|
+
abandoned: "#f38ba8",
|
|
115
|
+
},
|
|
116
|
+
sessionPicker: {
|
|
117
|
+
border: "#89b4fa",
|
|
118
|
+
title: "#89b4fa",
|
|
119
|
+
rowText: "#cdd6f4",
|
|
120
|
+
rowDim: "#8688a0",
|
|
121
|
+
highlightBg: "#313244",
|
|
122
|
+
highlightFg: "#a6e3a1",
|
|
123
|
+
activeMark: "#89b4fa",
|
|
124
|
+
progress: "#89dceb",
|
|
125
|
+
staleIcon: "#f9e2af",
|
|
126
|
+
staleText: "#f9e2af",
|
|
127
|
+
staleAge: "#f9e2af",
|
|
128
|
+
staleSubtitle: "#8688a0",
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
};
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Visual direction: graphite + electric-cyan accent.
|
|
3
|
+
* Keep the palette tight; lean on neutrals for structure.
|
|
4
|
+
*
|
|
5
|
+
* This is the original AUQ theme, optimized for dark terminals.
|
|
6
|
+
*/
|
|
7
|
+
export const darkTheme = {
|
|
8
|
+
name: "AUQ dark",
|
|
9
|
+
gradient: {
|
|
10
|
+
start: "#46D9FF",
|
|
11
|
+
middle: "#B8F2FF",
|
|
12
|
+
end: "#46D9FF",
|
|
13
|
+
},
|
|
14
|
+
colors: {
|
|
15
|
+
bg: "#0F1419",
|
|
16
|
+
surface: "#242C34",
|
|
17
|
+
surfaceAlt: "#2F3840",
|
|
18
|
+
primary: "#46D9FF",
|
|
19
|
+
success: "#5AF78E",
|
|
20
|
+
warning: "#FFD36A",
|
|
21
|
+
error: "#FF5C57",
|
|
22
|
+
info: "#46D9FF",
|
|
23
|
+
focused: "#46D9FF",
|
|
24
|
+
selected: "#5AF78E",
|
|
25
|
+
pending: "#FFD36A",
|
|
26
|
+
unansweredHighlight: "#FF6B6B",
|
|
27
|
+
text: "#E7EEF5",
|
|
28
|
+
textDim: "#A0AAB4",
|
|
29
|
+
textBold: "#F5FAFF",
|
|
30
|
+
},
|
|
31
|
+
borders: {
|
|
32
|
+
primary: "#46D9FF",
|
|
33
|
+
warning: "#FFD36A",
|
|
34
|
+
error: "#FF5C57",
|
|
35
|
+
neutral: "#2A3238",
|
|
36
|
+
},
|
|
37
|
+
components: {
|
|
38
|
+
header: {
|
|
39
|
+
border: "#3D4852", // slightly more visible
|
|
40
|
+
queueActive: "#46D9FF",
|
|
41
|
+
queueEmpty: "#A0AAB4",
|
|
42
|
+
queueFlash: "#B8F2FF",
|
|
43
|
+
pillBg: "#0B1F26",
|
|
44
|
+
},
|
|
45
|
+
directory: {
|
|
46
|
+
label: "#A0AAB4",
|
|
47
|
+
path: "#E7EEF5",
|
|
48
|
+
},
|
|
49
|
+
tabBar: {
|
|
50
|
+
selected: "#E7EEF5",
|
|
51
|
+
selectedBg: "#0B1F26",
|
|
52
|
+
default: "#A0AAB4",
|
|
53
|
+
answered: "#5AF78E",
|
|
54
|
+
unanswered: "#A0AAB4",
|
|
55
|
+
divider: "#2A3238",
|
|
56
|
+
},
|
|
57
|
+
options: {
|
|
58
|
+
focused: "#5AF78E",
|
|
59
|
+
focusedBg: "#0F2417",
|
|
60
|
+
selected: "#46D9FF",
|
|
61
|
+
selectedBg: "#0B1F26",
|
|
62
|
+
default: "#E7EEF5",
|
|
63
|
+
description: "#A8B2BC",
|
|
64
|
+
hint: "#A8B2BC",
|
|
65
|
+
},
|
|
66
|
+
input: {
|
|
67
|
+
border: "#2A3238",
|
|
68
|
+
borderFocused: "#46D9FF",
|
|
69
|
+
placeholder: "#A0AAB4",
|
|
70
|
+
cursor: "#46D9FF",
|
|
71
|
+
cursorDim: "#B8F2FF",
|
|
72
|
+
},
|
|
73
|
+
review: {
|
|
74
|
+
border: "#2A3238",
|
|
75
|
+
confirmBorder: "#46D9FF",
|
|
76
|
+
selectedOption: "#5AF78E",
|
|
77
|
+
customAnswer: "#FFD36A",
|
|
78
|
+
questionId: "#A0AAB4",
|
|
79
|
+
divider: "#2A3238",
|
|
80
|
+
},
|
|
81
|
+
questionDisplay: {
|
|
82
|
+
questionId: "#46D9FF",
|
|
83
|
+
typeIndicator: "#A0AAB4",
|
|
84
|
+
elapsed: "#A0AAB4",
|
|
85
|
+
},
|
|
86
|
+
footer: {
|
|
87
|
+
border: "#2A3238",
|
|
88
|
+
keyBg: "#0B1F26",
|
|
89
|
+
keyFg: "#46D9FF",
|
|
90
|
+
action: "#A8B2BC",
|
|
91
|
+
separator: "#2A3238",
|
|
92
|
+
},
|
|
93
|
+
toast: {
|
|
94
|
+
success: "#5AF78E",
|
|
95
|
+
successPillBg: "#0F2417",
|
|
96
|
+
error: "#FF5C57",
|
|
97
|
+
info: "#46D9FF",
|
|
98
|
+
warning: "#FFD36A",
|
|
99
|
+
border: "#2A3238",
|
|
100
|
+
},
|
|
101
|
+
markdown: {
|
|
102
|
+
codeBlockBg: "#0F1419",
|
|
103
|
+
codeBlockText: "#E7EEF5",
|
|
104
|
+
codeBlockBorder: "#2A3238",
|
|
105
|
+
},
|
|
106
|
+
sessionDots: {
|
|
107
|
+
active: "#46D9FF",
|
|
108
|
+
answered: "#5AF78E",
|
|
109
|
+
inProgress: "#FFD36A",
|
|
110
|
+
untouched: "#A0AAB4",
|
|
111
|
+
number: "#E7EEF5",
|
|
112
|
+
activeNumber: "#46D9FF",
|
|
113
|
+
stale: "#FFD36A",
|
|
114
|
+
abandoned: "#FF5C57",
|
|
115
|
+
},
|
|
116
|
+
sessionPicker: {
|
|
117
|
+
border: "#46D9FF",
|
|
118
|
+
title: "#46D9FF",
|
|
119
|
+
rowText: "#E7EEF5",
|
|
120
|
+
rowDim: "#A0AAB4",
|
|
121
|
+
highlightBg: "#0F2417",
|
|
122
|
+
highlightFg: "#5AF78E",
|
|
123
|
+
activeMark: "#46D9FF",
|
|
124
|
+
progress: "#46D9FF",
|
|
125
|
+
staleIcon: "#FFD36A",
|
|
126
|
+
staleText: "#FFD36A",
|
|
127
|
+
staleAge: "#FFD36A",
|
|
128
|
+
staleSubtitle: "#A0AAB4",
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
};
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dracula Theme
|
|
3
|
+
* A dark theme for code editors and terminal applications.
|
|
4
|
+
* https://draculatheme.com/
|
|
5
|
+
*/
|
|
6
|
+
export const draculaTheme = {
|
|
7
|
+
name: "dracula",
|
|
8
|
+
gradient: {
|
|
9
|
+
start: "#bd93f9", // purple
|
|
10
|
+
middle: "#ff79c6", // pink
|
|
11
|
+
end: "#bd93f9",
|
|
12
|
+
},
|
|
13
|
+
colors: {
|
|
14
|
+
// Background layers (OpenCode-style filled surfaces)
|
|
15
|
+
bg: "#21222C",
|
|
16
|
+
surface: "#282A36",
|
|
17
|
+
surfaceAlt: "#383A4A",
|
|
18
|
+
primary: "#bd93f9", // purple
|
|
19
|
+
success: "#50fa7b", // green
|
|
20
|
+
warning: "#f1fa8c", // yellow
|
|
21
|
+
error: "#ff5555", // red
|
|
22
|
+
info: "#8be9fd", // cyan
|
|
23
|
+
focused: "#bd93f9",
|
|
24
|
+
selected: "#50fa7b",
|
|
25
|
+
pending: "#ffb86c", // orange
|
|
26
|
+
unansweredHighlight: "#ff5555", // dracula red
|
|
27
|
+
text: "#f8f8f2", // foreground
|
|
28
|
+
textDim: "#8B9BCF", // comment brightened
|
|
29
|
+
textBold: "#f8f8f2",
|
|
30
|
+
},
|
|
31
|
+
borders: {
|
|
32
|
+
primary: "#bd93f9",
|
|
33
|
+
warning: "#f1fa8c",
|
|
34
|
+
error: "#ff5555",
|
|
35
|
+
neutral: "#44475a", // current line
|
|
36
|
+
},
|
|
37
|
+
components: {
|
|
38
|
+
header: {
|
|
39
|
+
border: "#6272a4", // comment - slightly more visible
|
|
40
|
+
queueActive: "#bd93f9",
|
|
41
|
+
queueEmpty: "#7C8BBE",
|
|
42
|
+
queueFlash: "#ff79c6",
|
|
43
|
+
pillBg: "#44475a",
|
|
44
|
+
},
|
|
45
|
+
directory: {
|
|
46
|
+
label: "#7C8BBE",
|
|
47
|
+
path: "#f8f8f2",
|
|
48
|
+
},
|
|
49
|
+
tabBar: {
|
|
50
|
+
selected: "#f8f8f2",
|
|
51
|
+
selectedBg: "#44475a",
|
|
52
|
+
default: "#7C8BBE",
|
|
53
|
+
answered: "#50fa7b",
|
|
54
|
+
unanswered: "#7C8BBE",
|
|
55
|
+
divider: "#44475a",
|
|
56
|
+
},
|
|
57
|
+
options: {
|
|
58
|
+
focused: "#50fa7b",
|
|
59
|
+
focusedBg: "#44475a",
|
|
60
|
+
selected: "#bd93f9",
|
|
61
|
+
selectedBg: "#44475a",
|
|
62
|
+
default: "#f8f8f2",
|
|
63
|
+
description: "#CAA8FC", // lighter purple for readability
|
|
64
|
+
hint: "#f8f8f2", // foreground for readability
|
|
65
|
+
},
|
|
66
|
+
input: {
|
|
67
|
+
border: "#44475a",
|
|
68
|
+
borderFocused: "#bd93f9",
|
|
69
|
+
placeholder: "#7C8BBE",
|
|
70
|
+
cursor: "#bd93f9",
|
|
71
|
+
cursorDim: "#ff79c6",
|
|
72
|
+
},
|
|
73
|
+
review: {
|
|
74
|
+
border: "#44475a",
|
|
75
|
+
confirmBorder: "#bd93f9",
|
|
76
|
+
selectedOption: "#50fa7b",
|
|
77
|
+
customAnswer: "#f1fa8c",
|
|
78
|
+
questionId: "#7C8BBE",
|
|
79
|
+
divider: "#44475a",
|
|
80
|
+
},
|
|
81
|
+
questionDisplay: {
|
|
82
|
+
questionId: "#bd93f9",
|
|
83
|
+
typeIndicator: "#7C8BBE",
|
|
84
|
+
elapsed: "#7C8BBE",
|
|
85
|
+
},
|
|
86
|
+
footer: {
|
|
87
|
+
border: "#44475a",
|
|
88
|
+
keyBg: "#44475a",
|
|
89
|
+
keyFg: "#bd93f9",
|
|
90
|
+
action: "#9AA5D4",
|
|
91
|
+
separator: "#44475a",
|
|
92
|
+
},
|
|
93
|
+
toast: {
|
|
94
|
+
success: "#50fa7b",
|
|
95
|
+
successPillBg: "#44475a", // current line
|
|
96
|
+
error: "#ff5555",
|
|
97
|
+
info: "#bd93f9",
|
|
98
|
+
warning: "#f1fa8c",
|
|
99
|
+
border: "#44475a",
|
|
100
|
+
},
|
|
101
|
+
markdown: {
|
|
102
|
+
codeBlockBg: "#282a36",
|
|
103
|
+
codeBlockText: "#f8f8f2",
|
|
104
|
+
codeBlockBorder: "#44475a",
|
|
105
|
+
},
|
|
106
|
+
sessionDots: {
|
|
107
|
+
active: "#bd93f9",
|
|
108
|
+
answered: "#50fa7b",
|
|
109
|
+
inProgress: "#f1fa8c",
|
|
110
|
+
untouched: "#7C8BBE",
|
|
111
|
+
number: "#f8f8f2",
|
|
112
|
+
activeNumber: "#bd93f9",
|
|
113
|
+
stale: "#f1fa8c",
|
|
114
|
+
abandoned: "#ff5555",
|
|
115
|
+
},
|
|
116
|
+
sessionPicker: {
|
|
117
|
+
border: "#bd93f9",
|
|
118
|
+
title: "#bd93f9",
|
|
119
|
+
rowText: "#f8f8f2",
|
|
120
|
+
rowDim: "#7C8BBE",
|
|
121
|
+
highlightBg: "#44475a",
|
|
122
|
+
highlightFg: "#50fa7b",
|
|
123
|
+
activeMark: "#bd93f9",
|
|
124
|
+
progress: "#8be9fd",
|
|
125
|
+
staleIcon: "#f1fa8c",
|
|
126
|
+
staleText: "#f1fa8c",
|
|
127
|
+
staleAge: "#f1fa8c",
|
|
128
|
+
staleSubtitle: "#7C8BBE",
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
};
|