@jaggerxtrm/pi-extensions 0.9.3 → 0.9.4
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/extensions/beads/index.ts +40 -3
- package/extensions/xtrm-ui/format.ts +1 -1
- package/extensions/xtrm-ui/index.ts +1 -1
- package/extensions/xtrm-ui/package.json +1 -1
- package/package.json +1 -1
- package/src/registry.ts +14 -6
- package/extensions/xtrm-ui/themes/pidex-dark-flattools.json +0 -79
- package/extensions/xtrm-ui/themes/pidex-dark.json +0 -85
- package/extensions/xtrm-ui/themes/pidex-light-flattools.json +0 -79
- package/extensions/xtrm-ui/themes/pidex-light.json +0 -85
|
@@ -75,6 +75,41 @@ export default function (pi: ExtensionAPI) {
|
|
|
75
75
|
return false;
|
|
76
76
|
};
|
|
77
77
|
|
|
78
|
+
// --- Claim-lookup cache -------------------------------------------------------
|
|
79
|
+
// getActiveClaim spawns bd kv get (~850ms) + bd show (~300ms); hasTrackableWork spawns
|
|
80
|
+
// bd list (~350ms). Running these on EVERY mutating tool call added ~1s to each edit.
|
|
81
|
+
// Cache the resolved values with a short TTL and invalidate on the bd update --claim /
|
|
82
|
+
// bd close commands we already intercept in the tool_result hook below.
|
|
83
|
+
let activeClaimCache: { sessionId: string; cwd: string; value: string | null; expiresAt: number } | null = null;
|
|
84
|
+
let hasTrackableWorkCache: { cwd: string; value: boolean; expiresAt: number } | null = null;
|
|
85
|
+
const ACTIVE_CLAIM_TTL_MS = 3000;
|
|
86
|
+
const HAS_TRACKABLE_WORK_TTL_MS = 5000;
|
|
87
|
+
|
|
88
|
+
const invalidateClaimCache = (): void => {
|
|
89
|
+
activeClaimCache = null;
|
|
90
|
+
hasTrackableWorkCache = null;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
const getActiveClaimCached = async (sessionId: string, cwd: string): Promise<string | null> => {
|
|
94
|
+
const now = Date.now();
|
|
95
|
+
if (activeClaimCache && activeClaimCache.sessionId === sessionId && activeClaimCache.cwd === cwd && activeClaimCache.expiresAt > now) {
|
|
96
|
+
return activeClaimCache.value;
|
|
97
|
+
}
|
|
98
|
+
const value = await getActiveClaim(sessionId, cwd);
|
|
99
|
+
activeClaimCache = { sessionId, cwd, value, expiresAt: Date.now() + ACTIVE_CLAIM_TTL_MS };
|
|
100
|
+
return value;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
const hasTrackableWorkCached = async (cwd: string): Promise<boolean> => {
|
|
104
|
+
const now = Date.now();
|
|
105
|
+
if (hasTrackableWorkCache && hasTrackableWorkCache.cwd === cwd && hasTrackableWorkCache.expiresAt > now) {
|
|
106
|
+
return hasTrackableWorkCache.value;
|
|
107
|
+
}
|
|
108
|
+
const value = await hasTrackableWork(cwd);
|
|
109
|
+
hasTrackableWorkCache = { cwd, value, expiresAt: Date.now() + HAS_TRACKABLE_WORK_TTL_MS };
|
|
110
|
+
return value;
|
|
111
|
+
};
|
|
112
|
+
|
|
78
113
|
const stripQuoted = (command: string): string => command.replace(/'[^']*'|"[^"]*"/g, "");
|
|
79
114
|
const isSpecialistsSubprocessCommand = (commandUnquoted: string): boolean =>
|
|
80
115
|
/\bspecialists\s+(run|resume|result|feed|stop|status)\b/.test(commandUnquoted);
|
|
@@ -105,9 +140,9 @@ export default function (pi: ExtensionAPI) {
|
|
|
105
140
|
const sessionId = getSessionId(ctx);
|
|
106
141
|
|
|
107
142
|
if (EventAdapter.isMutatingFileTool(event)) {
|
|
108
|
-
const claim = await
|
|
143
|
+
const claim = await getActiveClaimCached(sessionId, cwd);
|
|
109
144
|
if (!claim) {
|
|
110
|
-
const hasWork = await
|
|
145
|
+
const hasWork = await hasTrackableWorkCached(cwd);
|
|
111
146
|
if (hasWork) {
|
|
112
147
|
if (ctx.hasUI) {
|
|
113
148
|
ctx.ui.notify("Beads: Edit blocked. Claim an issue first.", "warning");
|
|
@@ -138,7 +173,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
138
173
|
}
|
|
139
174
|
|
|
140
175
|
if (/\bgit\s+commit\b/.test(commandUnquoted)) {
|
|
141
|
-
const claim = await
|
|
176
|
+
const claim = await getActiveClaimCached(sessionId, cwd);
|
|
142
177
|
if (claim) {
|
|
143
178
|
return {
|
|
144
179
|
block: true,
|
|
@@ -165,6 +200,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
165
200
|
const issueId = issueMatch[1];
|
|
166
201
|
await SubprocessRunner.run("bd", ["kv", "set", `claimed:${sessionId}`, issueId], { cwd });
|
|
167
202
|
memoryGateFired = false;
|
|
203
|
+
invalidateClaimCache();
|
|
168
204
|
const claimNotice = `\n\n✅ **Beads**: Session \`${sessionId}\` claimed issue \`${issueId}\`. File edits are now unblocked.`;
|
|
169
205
|
return { content: [...event.content, { type: "text", text: claimNotice }] };
|
|
170
206
|
}
|
|
@@ -177,6 +213,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
177
213
|
if (closedIssueId) {
|
|
178
214
|
await SubprocessRunner.run("bd", ["kv", "set", `closed-this-session:${sessionId}`, closedIssueId], { cwd });
|
|
179
215
|
memoryGateFired = false;
|
|
216
|
+
invalidateClaimCache();
|
|
180
217
|
}
|
|
181
218
|
|
|
182
219
|
const memoryGateText = closedIssueId
|
|
@@ -17,7 +17,7 @@ interface HunkCursor {
|
|
|
17
17
|
newLine: number;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
function shortenHome(path: string): string {
|
|
21
21
|
const home = process.env.HOME;
|
|
22
22
|
if (home && path.startsWith(home)) return `~${path.slice(home.length)}`;
|
|
23
23
|
return path;
|
|
@@ -1707,7 +1707,7 @@ function registerXtrmUiTools(pi: ExtensionAPI, getPrefs: () => XtrmUiPrefs): voi
|
|
|
1707
1707
|
// ============================================================================
|
|
1708
1708
|
|
|
1709
1709
|
function isXtrmTheme(name: string | undefined): boolean {
|
|
1710
|
-
return name === "pidex-dark" || name === "pidex-light";
|
|
1710
|
+
return name === "pidex-dark" || name === "pidex-light" || name === "pidex-dark-flattools" || name === "pidex-light-flattools";
|
|
1711
1711
|
}
|
|
1712
1712
|
|
|
1713
1713
|
export default function xtrmUiExtension(pi: ExtensionAPI): void {
|
package/package.json
CHANGED
package/src/registry.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtensionAPI } from "@
|
|
1
|
+
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
|
2
2
|
|
|
3
3
|
import autoSessionNameExtension from "./extensions/auto-session-name.ts";
|
|
4
4
|
import autoUpdateExtension from "./extensions/auto-update.ts";
|
|
@@ -8,22 +8,21 @@ import customFooterExtension from "./extensions/custom-footer.ts";
|
|
|
8
8
|
import customProviderQwenCliExtension from "./extensions/custom-provider-qwen-cli.ts";
|
|
9
9
|
import gitCheckpointExtension from "./extensions/git-checkpoint.ts";
|
|
10
10
|
import lspBootstrapExtension from "./extensions/lsp-bootstrap.ts";
|
|
11
|
-
import piSerenaCompactExtension from "./extensions/pi-serena-compact.ts";
|
|
12
11
|
import serenaPoolExtension from "./extensions/serena-pool.ts";
|
|
13
12
|
import qualityGatesExtension from "./extensions/quality-gates.ts";
|
|
14
13
|
import serviceSkillsExtension from "./extensions/service-skills.ts";
|
|
15
14
|
import sessionFlowExtension from "./extensions/session-flow.ts";
|
|
16
15
|
import spTerminalOverlayExtension from "./extensions/sp-terminal-overlay.ts";
|
|
17
|
-
import xtprompt from "./extensions/xtprompt.ts";
|
|
18
16
|
import xtrmLoaderExtension from "./extensions/xtrm-loader.ts";
|
|
19
17
|
import xtrmUiExtension from "./extensions/xtrm-ui.ts";
|
|
18
|
+
import xtpromptExtension from "./extensions/xtprompt.ts";
|
|
20
19
|
|
|
21
20
|
export type ManagedPiExtension = {
|
|
22
21
|
readonly id: string;
|
|
23
22
|
readonly register: (pi: ExtensionAPI) => void;
|
|
24
23
|
};
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
const allManagedPiExtensions: readonly ManagedPiExtension[] = [
|
|
27
26
|
{ id: "auto-session-name", register: autoSessionNameExtension },
|
|
28
27
|
{ id: "auto-update", register: autoUpdateExtension },
|
|
29
28
|
{ id: "beads", register: beadsExtension },
|
|
@@ -33,16 +32,25 @@ export const managedPiExtensions: readonly ManagedPiExtension[] = [
|
|
|
33
32
|
{ id: "git-checkpoint", register: gitCheckpointExtension },
|
|
34
33
|
{ id: "serena-pool", register: serenaPoolExtension },
|
|
35
34
|
{ id: "lsp-bootstrap", register: lspBootstrapExtension },
|
|
36
|
-
{ id: "pi-serena-compact", register: piSerenaCompactExtension },
|
|
37
35
|
{ id: "quality-gates", register: qualityGatesExtension },
|
|
38
36
|
{ id: "service-skills", register: serviceSkillsExtension },
|
|
39
37
|
{ id: "session-flow", register: sessionFlowExtension },
|
|
40
38
|
{ id: "sp-terminal-overlay", register: spTerminalOverlayExtension },
|
|
41
|
-
{ id: "xtprompt", register: xtprompt },
|
|
42
39
|
{ id: "xtrm-loader", register: xtrmLoaderExtension },
|
|
43
40
|
{ id: "xtrm-ui", register: xtrmUiExtension },
|
|
41
|
+
{ id: "xtprompt", register: xtpromptExtension },
|
|
44
42
|
];
|
|
45
43
|
|
|
44
|
+
// Extensions disabled by default. Source preserved in ./extensions/ — remove an
|
|
45
|
+
// id from this set to re-enable. (xtrm-e2vkn)
|
|
46
|
+
// - quality-gates: hook-script lookup (.claude/hooks/quality-check.*) is broken
|
|
47
|
+
// under the managed .xtrm/hooks layout, so it never fires. Disabled until
|
|
48
|
+
const DISABLED_EXTENSIONS = new Set<string>(["quality-gates"]);
|
|
49
|
+
|
|
50
|
+
export const managedPiExtensions: readonly ManagedPiExtension[] = allManagedPiExtensions.filter(
|
|
51
|
+
(extension) => !DISABLED_EXTENSIONS.has(extension.id),
|
|
52
|
+
);
|
|
53
|
+
|
|
46
54
|
function registerManagedExtension(pi: ExtensionAPI, extension: ManagedPiExtension): void {
|
|
47
55
|
try {
|
|
48
56
|
extension.register(pi);
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
|
3
|
-
"name": "pidex-dark-flattools",
|
|
4
|
-
"vars": {
|
|
5
|
-
"accentBlue": "#b8d3ff",
|
|
6
|
-
"accentCyan": "#b8d3ff",
|
|
7
|
-
"accentTeal": "#c7d2e0",
|
|
8
|
-
"successGreen": "#9fd59f",
|
|
9
|
-
"errorRed": "#ff9a9a",
|
|
10
|
-
"warningAmber": "#d2b48c",
|
|
11
|
-
"surface": "#000000",
|
|
12
|
-
"surfaceAlt": "#111111",
|
|
13
|
-
"surfaceMuted": "#1a1a1a",
|
|
14
|
-
"surfaceUser": "#1f1f1f",
|
|
15
|
-
"surfaceCustom": "#161616",
|
|
16
|
-
"gray": "#a7a7a7",
|
|
17
|
-
"dimGray": "#8a8a8a",
|
|
18
|
-
"borderGray": "#666666",
|
|
19
|
-
"borderBright": "#9a9a9a"
|
|
20
|
-
},
|
|
21
|
-
"colors": {
|
|
22
|
-
"accent": "accentBlue",
|
|
23
|
-
"border": "borderGray",
|
|
24
|
-
"borderAccent": "borderBright",
|
|
25
|
-
"borderMuted": "borderGray",
|
|
26
|
-
"success": "successGreen",
|
|
27
|
-
"error": "errorRed",
|
|
28
|
-
"warning": "warningAmber",
|
|
29
|
-
"muted": "gray",
|
|
30
|
-
"dim": "dimGray",
|
|
31
|
-
"text": "",
|
|
32
|
-
"thinkingText": "gray",
|
|
33
|
-
"selectedBg": "surfaceMuted",
|
|
34
|
-
"userMessageBg": "surfaceUser",
|
|
35
|
-
"userMessageText": "",
|
|
36
|
-
"customMessageBg": "surfaceCustom",
|
|
37
|
-
"customMessageText": "",
|
|
38
|
-
"customMessageLabel": "accentBlue",
|
|
39
|
-
"toolPendingBg": "",
|
|
40
|
-
"toolSuccessBg": "",
|
|
41
|
-
"toolErrorBg": "",
|
|
42
|
-
"toolTitle": "",
|
|
43
|
-
"toolOutput": "gray",
|
|
44
|
-
"mdHeading": "warningAmber",
|
|
45
|
-
"mdLink": "accentBlue",
|
|
46
|
-
"mdLinkUrl": "dimGray",
|
|
47
|
-
"mdCode": "accentCyan",
|
|
48
|
-
"mdCodeBlock": "gray",
|
|
49
|
-
"mdCodeBlockBorder": "borderGray",
|
|
50
|
-
"mdQuote": "gray",
|
|
51
|
-
"mdQuoteBorder": "borderGray",
|
|
52
|
-
"mdHr": "borderGray",
|
|
53
|
-
"mdListBullet": "accentTeal",
|
|
54
|
-
"toolDiffAdded": "successGreen",
|
|
55
|
-
"toolDiffRemoved": "errorRed",
|
|
56
|
-
"toolDiffContext": "gray",
|
|
57
|
-
"syntaxComment": "#6b7280",
|
|
58
|
-
"syntaxKeyword": "#7aa2f7",
|
|
59
|
-
"syntaxFunction": "#c0caf5",
|
|
60
|
-
"syntaxVariable": "#a9b1d6",
|
|
61
|
-
"syntaxString": "#9ece6a",
|
|
62
|
-
"syntaxNumber": "#ff9e64",
|
|
63
|
-
"syntaxType": "#73daca",
|
|
64
|
-
"syntaxOperator": "#c0caf5",
|
|
65
|
-
"syntaxPunctuation": "#8f9bb3",
|
|
66
|
-
"thinkingOff": "borderGray",
|
|
67
|
-
"thinkingMinimal": "#707070",
|
|
68
|
-
"thinkingLow": "#7a7a7a",
|
|
69
|
-
"thinkingMedium": "#858585",
|
|
70
|
-
"thinkingHigh": "#8f8f8f",
|
|
71
|
-
"thinkingXhigh": "#999999",
|
|
72
|
-
"bashMode": "accentTeal"
|
|
73
|
-
},
|
|
74
|
-
"export": {
|
|
75
|
-
"pageBg": "#12161d",
|
|
76
|
-
"cardBg": "#171b22",
|
|
77
|
-
"infoBg": "#28230f"
|
|
78
|
-
}
|
|
79
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
|
3
|
-
"name": "pidex-dark",
|
|
4
|
-
"vars": {
|
|
5
|
-
"accentBlue": "#b8d3ff",
|
|
6
|
-
"accentCyan": "#b8d3ff",
|
|
7
|
-
"accentTeal": "#c7d2e0",
|
|
8
|
-
"successGreen": "#9fd59f",
|
|
9
|
-
"errorRed": "#ff9a9a",
|
|
10
|
-
"warningAmber": "#d2b48c",
|
|
11
|
-
"surface": "#000000",
|
|
12
|
-
"surfaceAlt": "#111111",
|
|
13
|
-
"surfaceMuted": "#1a1a1a",
|
|
14
|
-
"surfaceUser": "#1f1f1f",
|
|
15
|
-
"surfaceCustom": "#161616",
|
|
16
|
-
"gray": "#a7a7a7",
|
|
17
|
-
"dimGray": "#8a8a8a",
|
|
18
|
-
"borderGray": "#666666",
|
|
19
|
-
"borderBright": "#9a9a9a"
|
|
20
|
-
},
|
|
21
|
-
"colors": {
|
|
22
|
-
"accent": "accentBlue",
|
|
23
|
-
"border": "borderGray",
|
|
24
|
-
"borderAccent": "borderBright",
|
|
25
|
-
"borderMuted": "borderGray",
|
|
26
|
-
"success": "successGreen",
|
|
27
|
-
"error": "errorRed",
|
|
28
|
-
"warning": "warningAmber",
|
|
29
|
-
"muted": "gray",
|
|
30
|
-
"dim": "dimGray",
|
|
31
|
-
"text": "",
|
|
32
|
-
"thinkingText": "gray",
|
|
33
|
-
|
|
34
|
-
"selectedBg": "surfaceMuted",
|
|
35
|
-
"userMessageBg": "surfaceUser",
|
|
36
|
-
"userMessageText": "",
|
|
37
|
-
"customMessageBg": "surfaceCustom",
|
|
38
|
-
"customMessageText": "",
|
|
39
|
-
"customMessageLabel": "accentBlue",
|
|
40
|
-
"toolPendingBg": "surfaceMuted",
|
|
41
|
-
"toolSuccessBg": "surfaceMuted",
|
|
42
|
-
"toolErrorBg": "surfaceMuted",
|
|
43
|
-
"toolTitle": "",
|
|
44
|
-
"toolOutput": "gray",
|
|
45
|
-
|
|
46
|
-
"mdHeading": "warningAmber",
|
|
47
|
-
"mdLink": "accentBlue",
|
|
48
|
-
"mdLinkUrl": "dimGray",
|
|
49
|
-
"mdCode": "accentCyan",
|
|
50
|
-
"mdCodeBlock": "gray",
|
|
51
|
-
"mdCodeBlockBorder": "borderGray",
|
|
52
|
-
"mdQuote": "gray",
|
|
53
|
-
"mdQuoteBorder": "borderGray",
|
|
54
|
-
"mdHr": "borderGray",
|
|
55
|
-
"mdListBullet": "accentTeal",
|
|
56
|
-
|
|
57
|
-
"toolDiffAdded": "successGreen",
|
|
58
|
-
"toolDiffRemoved": "errorRed",
|
|
59
|
-
"toolDiffContext": "gray",
|
|
60
|
-
|
|
61
|
-
"syntaxComment": "#6b7280",
|
|
62
|
-
"syntaxKeyword": "#7aa2f7",
|
|
63
|
-
"syntaxFunction": "#c0caf5",
|
|
64
|
-
"syntaxVariable": "#a9b1d6",
|
|
65
|
-
"syntaxString": "#9ece6a",
|
|
66
|
-
"syntaxNumber": "#ff9e64",
|
|
67
|
-
"syntaxType": "#73daca",
|
|
68
|
-
"syntaxOperator": "#c0caf5",
|
|
69
|
-
"syntaxPunctuation": "#8f9bb3",
|
|
70
|
-
|
|
71
|
-
"thinkingOff": "borderGray",
|
|
72
|
-
"thinkingMinimal": "#707070",
|
|
73
|
-
"thinkingLow": "#7a7a7a",
|
|
74
|
-
"thinkingMedium": "#858585",
|
|
75
|
-
"thinkingHigh": "#8f8f8f",
|
|
76
|
-
"thinkingXhigh": "#999999",
|
|
77
|
-
|
|
78
|
-
"bashMode": "accentTeal"
|
|
79
|
-
},
|
|
80
|
-
"export": {
|
|
81
|
-
"pageBg": "#12161d",
|
|
82
|
-
"cardBg": "#171b22",
|
|
83
|
-
"infoBg": "#28230f"
|
|
84
|
-
}
|
|
85
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
|
3
|
-
"name": "pidex-light-flattools",
|
|
4
|
-
"vars": {
|
|
5
|
-
"accentBlue": "#44546a",
|
|
6
|
-
"accentCyan": "#5f6b7a",
|
|
7
|
-
"accentTeal": "#5f6b7a",
|
|
8
|
-
"successGreen": "#587558",
|
|
9
|
-
"errorRed": "#a85f5f",
|
|
10
|
-
"warningAmber": "#8e7348",
|
|
11
|
-
"surface": "#ffffff",
|
|
12
|
-
"surfaceAlt": "#f1f1f1",
|
|
13
|
-
"surfaceMuted": "#e6e6e6",
|
|
14
|
-
"surfaceUser": "#f0f0f0",
|
|
15
|
-
"surfaceCustom": "#f5f5f5",
|
|
16
|
-
"gray": "#5f5f5f",
|
|
17
|
-
"dimGray": "#7a7a7a",
|
|
18
|
-
"borderGray": "#b9b9b9",
|
|
19
|
-
"borderBright": "#9f9f9f"
|
|
20
|
-
},
|
|
21
|
-
"colors": {
|
|
22
|
-
"accent": "accentBlue",
|
|
23
|
-
"border": "borderGray",
|
|
24
|
-
"borderAccent": "borderBright",
|
|
25
|
-
"borderMuted": "borderGray",
|
|
26
|
-
"success": "successGreen",
|
|
27
|
-
"error": "errorRed",
|
|
28
|
-
"warning": "warningAmber",
|
|
29
|
-
"muted": "gray",
|
|
30
|
-
"dim": "dimGray",
|
|
31
|
-
"text": "",
|
|
32
|
-
"thinkingText": "gray",
|
|
33
|
-
"selectedBg": "surfaceMuted",
|
|
34
|
-
"userMessageBg": "surfaceUser",
|
|
35
|
-
"userMessageText": "",
|
|
36
|
-
"customMessageBg": "surfaceCustom",
|
|
37
|
-
"customMessageText": "",
|
|
38
|
-
"customMessageLabel": "accentBlue",
|
|
39
|
-
"toolPendingBg": "",
|
|
40
|
-
"toolSuccessBg": "",
|
|
41
|
-
"toolErrorBg": "",
|
|
42
|
-
"toolTitle": "",
|
|
43
|
-
"toolOutput": "gray",
|
|
44
|
-
"mdHeading": "warningAmber",
|
|
45
|
-
"mdLink": "accentBlue",
|
|
46
|
-
"mdLinkUrl": "dimGray",
|
|
47
|
-
"mdCode": "accentCyan",
|
|
48
|
-
"mdCodeBlock": "gray",
|
|
49
|
-
"mdCodeBlockBorder": "borderGray",
|
|
50
|
-
"mdQuote": "gray",
|
|
51
|
-
"mdQuoteBorder": "borderGray",
|
|
52
|
-
"mdHr": "borderGray",
|
|
53
|
-
"mdListBullet": "accentTeal",
|
|
54
|
-
"toolDiffAdded": "successGreen",
|
|
55
|
-
"toolDiffRemoved": "errorRed",
|
|
56
|
-
"toolDiffContext": "gray",
|
|
57
|
-
"syntaxComment": "#6b7280",
|
|
58
|
-
"syntaxKeyword": "#3569c8",
|
|
59
|
-
"syntaxFunction": "#3b4351",
|
|
60
|
-
"syntaxVariable": "#364152",
|
|
61
|
-
"syntaxString": "#3f7d3d",
|
|
62
|
-
"syntaxNumber": "#b06500",
|
|
63
|
-
"syntaxType": "#2c7a7b",
|
|
64
|
-
"syntaxOperator": "#3b4351",
|
|
65
|
-
"syntaxPunctuation": "#55606f",
|
|
66
|
-
"thinkingOff": "borderGray",
|
|
67
|
-
"thinkingMinimal": "#9d9d9d",
|
|
68
|
-
"thinkingLow": "#979797",
|
|
69
|
-
"thinkingMedium": "#919191",
|
|
70
|
-
"thinkingHigh": "#8b8b8b",
|
|
71
|
-
"thinkingXhigh": "#858585",
|
|
72
|
-
"bashMode": "accentTeal"
|
|
73
|
-
},
|
|
74
|
-
"export": {
|
|
75
|
-
"pageBg": "#f5f7fa",
|
|
76
|
-
"cardBg": "#ffffff",
|
|
77
|
-
"infoBg": "#fff5e6"
|
|
78
|
-
}
|
|
79
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
|
3
|
-
"name": "pidex-light",
|
|
4
|
-
"vars": {
|
|
5
|
-
"accentBlue": "#44546a",
|
|
6
|
-
"accentCyan": "#5f6b7a",
|
|
7
|
-
"accentTeal": "#5f6b7a",
|
|
8
|
-
"successGreen": "#587558",
|
|
9
|
-
"errorRed": "#a85f5f",
|
|
10
|
-
"warningAmber": "#8e7348",
|
|
11
|
-
"surface": "#ffffff",
|
|
12
|
-
"surfaceAlt": "#f1f1f1",
|
|
13
|
-
"surfaceMuted": "#e6e6e6",
|
|
14
|
-
"surfaceUser": "#f0f0f0",
|
|
15
|
-
"surfaceCustom": "#f5f5f5",
|
|
16
|
-
"gray": "#5f5f5f",
|
|
17
|
-
"dimGray": "#7a7a7a",
|
|
18
|
-
"borderGray": "#b9b9b9",
|
|
19
|
-
"borderBright": "#9f9f9f"
|
|
20
|
-
},
|
|
21
|
-
"colors": {
|
|
22
|
-
"accent": "accentBlue",
|
|
23
|
-
"border": "borderGray",
|
|
24
|
-
"borderAccent": "borderBright",
|
|
25
|
-
"borderMuted": "borderGray",
|
|
26
|
-
"success": "successGreen",
|
|
27
|
-
"error": "errorRed",
|
|
28
|
-
"warning": "warningAmber",
|
|
29
|
-
"muted": "gray",
|
|
30
|
-
"dim": "dimGray",
|
|
31
|
-
"text": "",
|
|
32
|
-
"thinkingText": "gray",
|
|
33
|
-
|
|
34
|
-
"selectedBg": "surfaceMuted",
|
|
35
|
-
"userMessageBg": "surfaceUser",
|
|
36
|
-
"userMessageText": "",
|
|
37
|
-
"customMessageBg": "surfaceCustom",
|
|
38
|
-
"customMessageText": "",
|
|
39
|
-
"customMessageLabel": "accentBlue",
|
|
40
|
-
"toolPendingBg": "surfaceAlt",
|
|
41
|
-
"toolSuccessBg": "surfaceAlt",
|
|
42
|
-
"toolErrorBg": "surfaceAlt",
|
|
43
|
-
"toolTitle": "",
|
|
44
|
-
"toolOutput": "gray",
|
|
45
|
-
|
|
46
|
-
"mdHeading": "warningAmber",
|
|
47
|
-
"mdLink": "accentBlue",
|
|
48
|
-
"mdLinkUrl": "dimGray",
|
|
49
|
-
"mdCode": "accentCyan",
|
|
50
|
-
"mdCodeBlock": "gray",
|
|
51
|
-
"mdCodeBlockBorder": "borderGray",
|
|
52
|
-
"mdQuote": "gray",
|
|
53
|
-
"mdQuoteBorder": "borderGray",
|
|
54
|
-
"mdHr": "borderGray",
|
|
55
|
-
"mdListBullet": "accentTeal",
|
|
56
|
-
|
|
57
|
-
"toolDiffAdded": "successGreen",
|
|
58
|
-
"toolDiffRemoved": "errorRed",
|
|
59
|
-
"toolDiffContext": "gray",
|
|
60
|
-
|
|
61
|
-
"syntaxComment": "#6b7280",
|
|
62
|
-
"syntaxKeyword": "#3569c8",
|
|
63
|
-
"syntaxFunction": "#3b4351",
|
|
64
|
-
"syntaxVariable": "#364152",
|
|
65
|
-
"syntaxString": "#3f7d3d",
|
|
66
|
-
"syntaxNumber": "#b06500",
|
|
67
|
-
"syntaxType": "#2c7a7b",
|
|
68
|
-
"syntaxOperator": "#3b4351",
|
|
69
|
-
"syntaxPunctuation": "#55606f",
|
|
70
|
-
|
|
71
|
-
"thinkingOff": "borderGray",
|
|
72
|
-
"thinkingMinimal": "#9d9d9d",
|
|
73
|
-
"thinkingLow": "#979797",
|
|
74
|
-
"thinkingMedium": "#919191",
|
|
75
|
-
"thinkingHigh": "#8b8b8b",
|
|
76
|
-
"thinkingXhigh": "#858585",
|
|
77
|
-
|
|
78
|
-
"bashMode": "accentTeal"
|
|
79
|
-
},
|
|
80
|
-
"export": {
|
|
81
|
-
"pageBg": "#f5f7fa",
|
|
82
|
-
"cardBg": "#ffffff",
|
|
83
|
-
"infoBg": "#fff5e6"
|
|
84
|
-
}
|
|
85
|
-
}
|