@oh-my-pi/pi-coding-agent 3.15.0 → 3.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/package.json +4 -4
  3. package/src/modes/interactive/components/hook-editor.ts +1 -0
  4. package/src/modes/interactive/components/status-line/separators.ts +4 -4
  5. package/src/modes/interactive/components/status-line.ts +3 -1
  6. package/src/modes/interactive/interactive-mode.ts +1 -0
  7. package/src/modes/interactive/theme/defaults/alabaster.json +99 -0
  8. package/src/modes/interactive/theme/defaults/amethyst.json +103 -0
  9. package/src/modes/interactive/theme/defaults/anthracite.json +100 -0
  10. package/src/modes/interactive/theme/defaults/basalt.json +90 -0
  11. package/src/modes/interactive/theme/defaults/birch.json +101 -0
  12. package/src/modes/interactive/theme/defaults/dark-abyss.json +97 -0
  13. package/src/modes/interactive/theme/defaults/dark-aurora.json +94 -0
  14. package/src/modes/interactive/theme/defaults/dark-cavern.json +97 -0
  15. package/src/modes/interactive/theme/defaults/dark-copper.json +94 -0
  16. package/src/modes/interactive/theme/defaults/dark-cosmos.json +96 -0
  17. package/src/modes/interactive/theme/defaults/dark-eclipse.json +97 -0
  18. package/src/modes/interactive/theme/defaults/dark-ember.json +94 -0
  19. package/src/modes/interactive/theme/defaults/dark-equinox.json +96 -0
  20. package/src/modes/interactive/theme/defaults/dark-lavender.json +94 -0
  21. package/src/modes/interactive/theme/defaults/dark-lunar.json +95 -0
  22. package/src/modes/interactive/theme/defaults/dark-midnight.json +94 -0
  23. package/src/modes/interactive/theme/defaults/dark-nebula.json +96 -0
  24. package/src/modes/interactive/theme/defaults/dark-rainforest.json +97 -0
  25. package/src/modes/interactive/theme/defaults/dark-reef.json +97 -0
  26. package/src/modes/interactive/theme/defaults/dark-sakura.json +94 -0
  27. package/src/modes/interactive/theme/defaults/dark-slate.json +94 -0
  28. package/src/modes/interactive/theme/defaults/dark-solstice.json +96 -0
  29. package/src/modes/interactive/theme/defaults/dark-starfall.json +97 -0
  30. package/src/modes/interactive/theme/defaults/dark-swamp.json +96 -0
  31. package/src/modes/interactive/theme/defaults/dark-taiga.json +97 -0
  32. package/src/modes/interactive/theme/defaults/dark-terminal.json +94 -0
  33. package/src/modes/interactive/theme/defaults/dark-tundra.json +97 -0
  34. package/src/modes/interactive/theme/defaults/dark-twilight.json +97 -0
  35. package/src/modes/interactive/theme/defaults/dark-volcanic.json +97 -0
  36. package/src/modes/interactive/theme/defaults/graphite.json +99 -0
  37. package/src/modes/interactive/theme/defaults/index.ts +128 -0
  38. package/src/modes/interactive/theme/defaults/light-aurora-day.json +97 -0
  39. package/src/modes/interactive/theme/defaults/light-canyon.json +97 -0
  40. package/src/modes/interactive/theme/defaults/light-cirrus.json +96 -0
  41. package/src/modes/interactive/theme/defaults/light-coral.json +94 -0
  42. package/src/modes/interactive/theme/defaults/light-dawn.json +96 -0
  43. package/src/modes/interactive/theme/defaults/light-dunes.json +97 -0
  44. package/src/modes/interactive/theme/defaults/light-eucalyptus.json +94 -0
  45. package/src/modes/interactive/theme/defaults/light-frost.json +94 -0
  46. package/src/modes/interactive/theme/defaults/light-glacier.json +97 -0
  47. package/src/modes/interactive/theme/defaults/light-haze.json +96 -0
  48. package/src/modes/interactive/theme/defaults/light-honeycomb.json +94 -0
  49. package/src/modes/interactive/theme/defaults/light-lagoon.json +97 -0
  50. package/src/modes/interactive/theme/defaults/light-lavender.json +94 -0
  51. package/src/modes/interactive/theme/defaults/light-meadow.json +97 -0
  52. package/src/modes/interactive/theme/defaults/light-mint.json +94 -0
  53. package/src/modes/interactive/theme/defaults/light-opal.json +97 -0
  54. package/src/modes/interactive/theme/defaults/light-orchard.json +97 -0
  55. package/src/modes/interactive/theme/defaults/light-paper.json +94 -0
  56. package/src/modes/interactive/theme/defaults/light-prism.json +96 -0
  57. package/src/modes/interactive/theme/defaults/light-sand.json +94 -0
  58. package/src/modes/interactive/theme/defaults/light-savanna.json +97 -0
  59. package/src/modes/interactive/theme/defaults/light-soleil.json +96 -0
  60. package/src/modes/interactive/theme/defaults/light-wetland.json +97 -0
  61. package/src/modes/interactive/theme/defaults/light-zenith.json +95 -0
  62. package/src/modes/interactive/theme/defaults/limestone.json +100 -0
  63. package/src/modes/interactive/theme/defaults/mahogany.json +104 -0
  64. package/src/modes/interactive/theme/defaults/marble.json +99 -0
  65. package/src/modes/interactive/theme/defaults/obsidian.json +90 -0
  66. package/src/modes/interactive/theme/defaults/onyx.json +90 -0
  67. package/src/modes/interactive/theme/defaults/pearl.json +99 -0
  68. package/src/modes/interactive/theme/defaults/porcelain.json +90 -0
  69. package/src/modes/interactive/theme/defaults/quartz.json +102 -0
  70. package/src/modes/interactive/theme/defaults/sandstone.json +101 -0
  71. package/src/modes/interactive/theme/defaults/titanium.json +89 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [3.15.1] - 2026-01-05
6
+
7
+ ### Added
8
+
9
+ - Added 65 new built-in color themes including dark variants (abyss, aurora, cavern, copper, cosmos, eclipse, ember, equinox, lavender, lunar, midnight, nebula, rainforest, reef, sakura, slate, solstice, starfall, swamp, taiga, terminal, tundra, twilight, volcanic), light variants (aurora-day, canyon, cirrus, coral, dawn, dunes, eucalyptus, frost, glacier, haze, honeycomb, lagoon, lavender, meadow, mint, opal, orchard, paper, prism, sand, savanna, soleil, wetland, zenith), and material themes (alabaster, amethyst, anthracite, basalt, birch, graphite, limestone, mahogany, marble, obsidian, onyx, pearl, porcelain, quartz, sandstone, titanium)
10
+
11
+ ### Fixed
12
+
13
+ - Fixed status line end cap rendering to properly apply background colors and use correct powerline separator characters
14
+
5
15
  ## [3.15.0] - 2026-01-05
6
16
 
7
17
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oh-my-pi/pi-coding-agent",
3
- "version": "3.15.0",
3
+ "version": "3.15.1",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "ompConfig": {
@@ -39,9 +39,9 @@
39
39
  "prepublishOnly": "bun run generate-template && bun run clean && bun run build"
40
40
  },
41
41
  "dependencies": {
42
- "@oh-my-pi/pi-agent-core": "3.15.0",
43
- "@oh-my-pi/pi-ai": "3.15.0",
44
- "@oh-my-pi/pi-tui": "3.15.0",
42
+ "@oh-my-pi/pi-agent-core": "3.15.1",
43
+ "@oh-my-pi/pi-ai": "3.15.1",
44
+ "@oh-my-pi/pi-tui": "3.15.1",
45
45
  "@sinclair/typebox": "^0.34.46",
46
46
  "ajv": "^8.17.1",
47
47
  "chalk": "^5.5.0",
@@ -39,6 +39,7 @@ export class HookEditorComponent extends Container {
39
39
 
40
40
  // Create editor
41
41
  this.editor = new Editor(getEditorTheme());
42
+ this.editor.setUseTerminalCursor(true);
42
43
  if (prefill) {
43
44
  this.editor.setText(prefill);
44
45
  }
@@ -22,8 +22,8 @@ export function getSeparator(style: StatusLineSeparatorStyle, theme: Theme): Sep
22
22
  left: theme.sep.powerlineThinLeft,
23
23
  right: theme.sep.powerlineThinRight,
24
24
  endCaps: {
25
- left: theme.sep.powerlineThinRight,
26
- right: theme.sep.powerlineThinLeft,
25
+ left: theme.sep.powerlineRight,
26
+ right: theme.sep.powerlineLeft,
27
27
  useBgAsFg: true,
28
28
  },
29
29
  };
@@ -46,8 +46,8 @@ export function getSeparator(style: StatusLineSeparatorStyle, theme: Theme): Sep
46
46
  left: theme.sep.powerlineThinLeft,
47
47
  right: theme.sep.powerlineThinRight,
48
48
  endCaps: {
49
- left: theme.sep.powerlineThinRight,
50
- right: theme.sep.powerlineThinLeft,
49
+ left: theme.sep.powerlineRight,
50
+ right: theme.sep.powerlineLeft,
51
51
  useBgAsFg: true,
52
52
  },
53
53
  };
@@ -333,7 +333,9 @@ export class StatusLineComponent implements Component {
333
333
  ? separatorDef.endCaps.right
334
334
  : separatorDef.endCaps.left
335
335
  : "";
336
- const capPrefix = separatorDef.endCaps?.useBgAsFg ? bgAnsi.replace("\x1b[48;", "\x1b[38;") : sepAnsi;
336
+ const capPrefix = separatorDef.endCaps?.useBgAsFg
337
+ ? bgAnsi.replace("\x1b[48;", "\x1b[38;")
338
+ : bgAnsi + sepAnsi;
337
339
  const capText = cap ? `${capPrefix}${cap}\x1b[0m` : "";
338
340
 
339
341
  let content = bgAnsi + fgAnsi;
@@ -180,6 +180,7 @@ export class InteractiveMode {
180
180
  this.pendingMessagesContainer = new Container();
181
181
  this.statusContainer = new Container();
182
182
  this.editor = new CustomEditor(getEditorTheme());
183
+ this.editor.setUseTerminalCursor(true);
183
184
  this.editorContainer = new Container();
184
185
  this.editorContainer.addChild(this.editor);
185
186
  this.statusLine = new StatusLineComponent(session);
@@ -0,0 +1,99 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "alabaster",
4
+ "vars": {
5
+ "alabaster": "#fdfcfb",
6
+ "chiseledBlack": "#1a1c20",
7
+ "shadowGray": "#505860",
8
+ "carvedDepth": "#6a7080",
9
+ "subtleShadow": "#e8e8ec",
10
+ "lightShadow": "#f0f0f4",
11
+ "accent": "#404850",
12
+ "warmShadow": "#8a7060",
13
+ "selectedBg": "#f0eff0",
14
+ "userMsgBg": "#f5f4f5",
15
+ "toolPendingBg": "#f3f3f8",
16
+ "toolSuccessBg": "#f4f5f4",
17
+ "toolErrorBg": "#f8f3f3",
18
+ "customMsgBg": "#f6f4f7"
19
+ },
20
+ "colors": {
21
+ "accent": "shadowGray",
22
+ "border": "subtleShadow",
23
+ "borderAccent": "shadowGray",
24
+ "borderMuted": "lightShadow",
25
+ "success": "#405840",
26
+ "error": "#704040",
27
+ "warning": "#806850",
28
+ "muted": "carvedDepth",
29
+ "dim": "#909098",
30
+ "text": "",
31
+ "thinkingText": "carvedDepth",
32
+
33
+ "selectedBg": "selectedBg",
34
+ "userMessageBg": "userMsgBg",
35
+ "userMessageText": "",
36
+ "customMessageBg": "customMsgBg",
37
+ "customMessageText": "",
38
+ "customMessageLabel": "shadowGray",
39
+ "toolPendingBg": "toolPendingBg",
40
+ "toolSuccessBg": "toolSuccessBg",
41
+ "toolErrorBg": "toolErrorBg",
42
+ "toolTitle": "",
43
+ "toolOutput": "carvedDepth",
44
+
45
+ "mdHeading": "chiseledBlack",
46
+ "mdLink": "shadowGray",
47
+ "mdLinkUrl": "carvedDepth",
48
+ "mdCode": "accent",
49
+ "mdCodeBlock": "shadowGray",
50
+ "mdCodeBlockBorder": "subtleShadow",
51
+ "mdQuote": "carvedDepth",
52
+ "mdQuoteBorder": "subtleShadow",
53
+ "mdHr": "subtleShadow",
54
+ "mdListBullet": "shadowGray",
55
+
56
+ "toolDiffAdded": "#405840",
57
+ "toolDiffRemoved": "#704040",
58
+ "toolDiffContext": "carvedDepth",
59
+
60
+ "syntaxComment": "#707880",
61
+ "syntaxKeyword": "#303840",
62
+ "syntaxFunction": "chiseledBlack",
63
+ "syntaxVariable": "chiseledBlack",
64
+ "syntaxString": "warmShadow",
65
+ "syntaxNumber": "shadowGray",
66
+ "syntaxType": "#303840",
67
+ "syntaxOperator": "#404850",
68
+ "syntaxPunctuation": "#505860",
69
+
70
+ "thinkingOff": "#c0c0c8",
71
+ "thinkingMinimal": "#a0a0a8",
72
+ "thinkingLow": "#808090",
73
+ "thinkingMedium": "#606870",
74
+ "thinkingHigh": "#505860",
75
+ "thinkingXhigh": "#303840",
76
+
77
+ "bashMode": "#405840",
78
+
79
+ "statusLineBg": "#ececf0",
80
+ "statusLineSep": "#a0a0a8",
81
+ "statusLineModel": "#505860",
82
+ "statusLinePath": "#404850",
83
+ "statusLineGitClean": "#305030",
84
+ "statusLineGitDirty": "#806030",
85
+ "statusLineContext": "#404860",
86
+ "statusLineSpend": "#405050",
87
+ "statusLineStaged": 28,
88
+ "statusLineDirty": 136,
89
+ "statusLineUntracked": 31,
90
+ "statusLineOutput": 133,
91
+ "statusLineCost": 133,
92
+ "statusLineSubagents": "shadowGray"
93
+ },
94
+ "export": {
95
+ "pageBg": "#fdfcfb",
96
+ "cardBg": "#ffffff",
97
+ "infoBg": "#faf9f8"
98
+ }
99
+ }
@@ -0,0 +1,103 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "amethyst",
4
+ "vars": {
5
+ "amethyst": "#b48eff",
6
+ "violet": "#9b6fd8",
7
+ "deepPurple": "#6b4d9e",
8
+ "quartz": "#f0e8f4",
9
+ "roseQuartz": "#e5b4d4",
10
+ "gold": "#d4af37",
11
+ "lavender": "#c8a8e9",
12
+ "crystalFacet": "#2a2435",
13
+ "caveDark": "#140f18",
14
+ "caveDeep": "#0f0b13",
15
+ "selectedBg": "#221b28",
16
+ "userMsgBg": "#1a1420",
17
+ "toolPendingBg": "#1b1624",
18
+ "toolSuccessBg": "#151220",
19
+ "toolErrorBg": "#261418",
20
+ "customMsgBg": "#1f1828"
21
+ },
22
+ "colors": {
23
+ "accent": "amethyst",
24
+ "border": "deepPurple",
25
+ "borderAccent": "amethyst",
26
+ "borderMuted": "crystalFacet",
27
+ "success": "#8eb897",
28
+ "error": "#d96c75",
29
+ "warning": "gold",
30
+ "muted": "#8b7a99",
31
+ "dim": "#6a5a78",
32
+ "text": "",
33
+ "thinkingText": "#8b7a99",
34
+
35
+ "selectedBg": "selectedBg",
36
+ "userMessageBg": "userMsgBg",
37
+ "userMessageText": "",
38
+ "customMessageBg": "customMsgBg",
39
+ "customMessageText": "",
40
+ "customMessageLabel": "lavender",
41
+ "toolPendingBg": "toolPendingBg",
42
+ "toolSuccessBg": "toolSuccessBg",
43
+ "toolErrorBg": "toolErrorBg",
44
+ "toolTitle": "",
45
+ "toolOutput": "#8b7a99",
46
+
47
+ "mdHeading": "amethyst",
48
+ "mdLink": "violet",
49
+ "mdLinkUrl": "#6a5a78",
50
+ "mdCode": "roseQuartz",
51
+ "mdCodeBlock": "quartz",
52
+ "mdCodeBlockBorder": "crystalFacet",
53
+ "mdQuote": "#8b7a99",
54
+ "mdQuoteBorder": "crystalFacet",
55
+ "mdHr": "crystalFacet",
56
+ "mdListBullet": "amethyst",
57
+
58
+ "toolDiffAdded": "#8eb897",
59
+ "toolDiffRemoved": "#d96c75",
60
+ "toolDiffContext": "#8b7a99",
61
+
62
+ "link": "violet",
63
+
64
+ "syntaxComment": "#7a6b88",
65
+ "syntaxKeyword": "amethyst",
66
+ "syntaxFunction": "gold",
67
+ "syntaxVariable": "lavender",
68
+ "syntaxString": "roseQuartz",
69
+ "syntaxNumber": "#a8c9b0",
70
+ "syntaxType": "violet",
71
+ "syntaxOperator": "quartz",
72
+ "syntaxPunctuation": "#c0b0cf",
73
+
74
+ "thinkingOff": "crystalFacet",
75
+ "thinkingMinimal": "#6a5a78",
76
+ "thinkingLow": "deepPurple",
77
+ "thinkingMedium": "violet",
78
+ "thinkingHigh": "amethyst",
79
+ "thinkingXhigh": "lavender",
80
+
81
+ "bashMode": "amethyst",
82
+
83
+ "statusLineBg": "caveDeep",
84
+ "statusLineSep": 240,
85
+ "statusLineModel": "roseQuartz",
86
+ "statusLinePath": "violet",
87
+ "statusLineGitClean": "#8eb897",
88
+ "statusLineGitDirty": "gold",
89
+ "statusLineContext": "lavender",
90
+ "statusLineSpend": "deepPurple",
91
+ "statusLineStaged": 141,
92
+ "statusLineDirty": 179,
93
+ "statusLineUntracked": 183,
94
+ "statusLineOutput": 213,
95
+ "statusLineCost": 213,
96
+ "statusLineSubagents": "amethyst"
97
+ },
98
+ "export": {
99
+ "pageBg": "caveDark",
100
+ "cardBg": "#1b1520",
101
+ "infoBg": "#251d2b"
102
+ }
103
+ }
@@ -0,0 +1,100 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "anthracite",
4
+ "vars": {
5
+ "coal": "#121419",
6
+ "steel": "#3d4555",
7
+ "steelLight": "#4f5566",
8
+ "ember": "#e8734a",
9
+ "emberDim": "#b5583a",
10
+ "ash": "#d4d8e4",
11
+ "ashGray": "#9ca3b5",
12
+ "soot": "#6b7280",
13
+ "sootDark": "#4d5561",
14
+ "coalLighter": "#1a1e25",
15
+ "success": "#7fb069",
16
+ "error": "#d9534f",
17
+ "warning": "#e89c4a"
18
+ },
19
+ "colors": {
20
+ "accent": "ember",
21
+ "border": "steel",
22
+ "borderAccent": "steelLight",
23
+ "borderMuted": "sootDark",
24
+ "success": "success",
25
+ "error": "error",
26
+ "warning": "warning",
27
+ "muted": "ashGray",
28
+ "dim": "soot",
29
+ "text": "",
30
+ "thinkingText": "soot",
31
+
32
+ "selectedBg": "#252932",
33
+ "userMessageBg": "#1a1511",
34
+ "userMessageText": "",
35
+ "customMessageBg": "#1f1a24",
36
+ "customMessageText": "",
37
+ "customMessageLabel": "#c99a6e",
38
+ "toolPendingBg": "#171a21",
39
+ "toolSuccessBg": "#141a16",
40
+ "toolErrorBg": "#221617",
41
+ "toolTitle": "",
42
+ "toolOutput": "ashGray",
43
+
44
+ "mdHeading": "ember",
45
+ "mdLink": "#6ba3d4",
46
+ "mdLinkUrl": "soot",
47
+ "mdCode": "#e8b089",
48
+ "mdCodeBlock": "#c1cfe0",
49
+ "mdCodeBlockBorder": "steel",
50
+ "mdQuote": "ashGray",
51
+ "mdQuoteBorder": "sootDark",
52
+ "mdHr": "steel",
53
+ "mdListBullet": "ember",
54
+
55
+ "toolDiffAdded": "success",
56
+ "toolDiffRemoved": "error",
57
+ "toolDiffContext": "soot",
58
+
59
+ "link": "#6ba3d4",
60
+
61
+ "syntaxComment": "#6b8099",
62
+ "syntaxKeyword": "#7ba8d4",
63
+ "syntaxFunction": "#e8a069",
64
+ "syntaxVariable": "#a9b8cf",
65
+ "syntaxString": "#c98963",
66
+ "syntaxNumber": "#89b084",
67
+ "syntaxType": "#67b8a8",
68
+ "syntaxOperator": "#b8bfcc",
69
+ "syntaxPunctuation": "#9ca3b5",
70
+
71
+ "thinkingOff": "sootDark",
72
+ "thinkingMinimal": "soot",
73
+ "thinkingLow": "#5f7fa3",
74
+ "thinkingMedium": "#6ba3d4",
75
+ "thinkingHigh": "#c99a6e",
76
+ "thinkingXhigh": "#e8b089",
77
+
78
+ "bashMode": "#6ba3d4",
79
+
80
+ "statusLineBg": "#0f1114",
81
+ "statusLineSep": 240,
82
+ "statusLineModel": "#c99a6e",
83
+ "statusLinePath": "#6ba3d4",
84
+ "statusLineGitClean": "#7fb069",
85
+ "statusLineGitDirty": "#e89c4a",
86
+ "statusLineContext": "#8791a6",
87
+ "statusLineSpend": "#6ba3d4",
88
+ "statusLineStaged": 107,
89
+ "statusLineDirty": 179,
90
+ "statusLineUntracked": 74,
91
+ "statusLineOutput": 173,
92
+ "statusLineCost": 173,
93
+ "statusLineSubagents": "ember"
94
+ },
95
+ "export": {
96
+ "pageBg": "#121419",
97
+ "cardBg": "#1a1e25",
98
+ "infoBg": "#2a2317"
99
+ }
100
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "basalt",
4
+ "vars": {
5
+ "charcoal": "#171613",
6
+ "coolingLava": "#3a3530",
7
+ "warmGray": "#4a433d",
8
+ "pumice": "#e4e0d8",
9
+ "dustyWhite": "#cac5bd",
10
+ "ironOxide": "#c45a3a",
11
+ "rustOrange": "#d97651",
12
+ "mineralGreen": "#6a9a6a",
13
+ "lichtenGreen": "#8bb88b",
14
+ "obsidian": "#0f0d0b",
15
+ "emberRed": "#b84a2c",
16
+ "ashGray": "#5a524b"
17
+ },
18
+ "colors": {
19
+ "accent": "#c45a3a",
20
+ "border": "#3a3530",
21
+ "borderAccent": "#4a433d",
22
+ "borderMuted": "#2a2520",
23
+ "success": "#6a9a6a",
24
+ "error": "#b84a2c",
25
+ "warning": "#d97651",
26
+ "muted": "#5a524b",
27
+ "dim": "#4a433d",
28
+ "text": "",
29
+ "thinkingText": "#cac5bd",
30
+ "selectedBg": "#2a2520",
31
+ "userMessageBg": "#3a3530",
32
+ "userMessageText": "",
33
+ "customMessageBg": "#4a433d",
34
+ "customMessageText": "",
35
+ "customMessageLabel": "#c45a3a",
36
+ "toolPendingBg": "#2a2520",
37
+ "toolSuccessBg": "#1f2520",
38
+ "toolErrorBg": "#2a1f1d",
39
+ "toolTitle": "",
40
+ "toolOutput": "#cac5bd",
41
+ "mdHeading": "#c45a3a",
42
+ "mdLink": "#8bb88b",
43
+ "mdLinkUrl": "#6a9a6a",
44
+ "mdCode": "#d97651",
45
+ "mdCodeBlock": "#cac5bd",
46
+ "mdCodeBlockBorder": "#3a3530",
47
+ "mdQuote": "#cac5bd",
48
+ "mdQuoteBorder": "#4a433d",
49
+ "mdHr": "#3a3530",
50
+ "mdListBullet": "#c45a3a",
51
+ "toolDiffAdded": "#6a9a6a",
52
+ "toolDiffRemoved": "#b84a2c",
53
+ "toolDiffContext": "#5a524b",
54
+ "syntaxComment": "#5a524b",
55
+ "syntaxKeyword": "#c45a3a",
56
+ "syntaxFunction": "#8bb88b",
57
+ "syntaxVariable": "#e4e0d8",
58
+ "syntaxString": "#6a9a6a",
59
+ "syntaxNumber": "#d97651",
60
+ "syntaxType": "#c45a3a",
61
+ "syntaxOperator": "#cac5bd",
62
+ "syntaxPunctuation": "#cac5bd",
63
+ "thinkingOff": "#3a3530",
64
+ "thinkingMinimal": "#4a433d",
65
+ "thinkingLow": "#5a524b",
66
+ "thinkingMedium": "#6a605a",
67
+ "thinkingHigh": "#7a706a",
68
+ "thinkingXhigh": "#8a807a",
69
+ "bashMode": "#c45a3a",
70
+ "statusLineBg": "#0f0d0b",
71
+ "statusLineSep": "#3a3530",
72
+ "statusLineModel": "#c45a3a",
73
+ "statusLinePath": "#cac5bd",
74
+ "statusLineGitClean": "#6a9a6a",
75
+ "statusLineGitDirty": "#d97651",
76
+ "statusLineContext": "#8bb88b",
77
+ "statusLineSpend": "#d97651",
78
+ "statusLineStaged": "#6a9a6a",
79
+ "statusLineDirty": "#d97651",
80
+ "statusLineUntracked": "#5a524b",
81
+ "statusLineOutput": "#cac5bd",
82
+ "statusLineCost": "#d97651",
83
+ "statusLineSubagents": "#c45a3a"
84
+ },
85
+ "export": {
86
+ "pageBg": "#171613",
87
+ "cardBg": "#1f1c19",
88
+ "infoBg": "#2a2520"
89
+ }
90
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "birch",
4
+ "vars": {
5
+ "barkCream": "#f9f7f1",
6
+ "barkCharcoal": "#505048",
7
+ "mossSage": "#608058",
8
+ "barkStriation": "#c8c4b8",
9
+ "forestFloor": "#282820",
10
+ "lightMoss": "#7a9a70",
11
+ "darkMoss": "#4a603f",
12
+ "warmGray": "#9a958a",
13
+ "mutedSage": "#8a9d84",
14
+ "deepBark": "#3a3832",
15
+ "selectedBg": "#ede9df",
16
+ "userMsgBg": "#f2efe7",
17
+ "toolPendingBg": "#eef0ed",
18
+ "toolSuccessBg": "#ecf2ea",
19
+ "toolErrorBg": "#f5efed",
20
+ "customMsgBg": "#eef5ec"
21
+ },
22
+ "colors": {
23
+ "accent": "mossSage",
24
+ "border": "barkStriation",
25
+ "borderAccent": "mossSage",
26
+ "borderMuted": "barkStriation",
27
+ "success": "lightMoss",
28
+ "error": "#b85a50",
29
+ "warning": "#b8984a",
30
+ "muted": "warmGray",
31
+ "dim": "mutedSage",
32
+ "text": "",
33
+ "thinkingText": "warmGray",
34
+
35
+ "selectedBg": "selectedBg",
36
+ "userMessageBg": "userMsgBg",
37
+ "userMessageText": "",
38
+ "customMessageBg": "customMsgBg",
39
+ "customMessageText": "",
40
+ "customMessageLabel": "#5a7a52",
41
+ "toolPendingBg": "toolPendingBg",
42
+ "toolSuccessBg": "toolSuccessBg",
43
+ "toolErrorBg": "toolErrorBg",
44
+ "toolTitle": "",
45
+ "toolOutput": "barkCharcoal",
46
+
47
+ "mdHeading": "#8a7050",
48
+ "mdLink": "#4a7060",
49
+ "mdLinkUrl": "warmGray",
50
+ "mdCode": "mossSage",
51
+ "mdCodeBlock": "darkMoss",
52
+ "mdCodeBlockBorder": "barkStriation",
53
+ "mdQuote": "warmGray",
54
+ "mdQuoteBorder": "barkStriation",
55
+ "mdHr": "barkStriation",
56
+ "mdListBullet": "lightMoss",
57
+
58
+ "toolDiffAdded": "lightMoss",
59
+ "toolDiffRemoved": "#b85a50",
60
+ "toolDiffContext": "warmGray",
61
+
62
+ "syntaxComment": "#7a8070",
63
+ "syntaxKeyword": "#4a7060",
64
+ "syntaxFunction": "#6a7a50",
65
+ "syntaxVariable": "#3a5048",
66
+ "syntaxString": "#8a604a",
67
+ "syntaxNumber": "#4a7a5a",
68
+ "syntaxType": "#5a6a70",
69
+ "syntaxOperator": "barkCharcoal",
70
+ "syntaxPunctuation": "barkCharcoal",
71
+
72
+ "thinkingOff": "barkStriation",
73
+ "thinkingMinimal": "mutedSage",
74
+ "thinkingLow": "#6a8a70",
75
+ "thinkingMedium": "mossSage",
76
+ "thinkingHigh": "#5a7a60",
77
+ "thinkingXhigh": "#4a6050",
78
+
79
+ "bashMode": "lightMoss",
80
+
81
+ "statusLineBg": "#ebe7dc",
82
+ "statusLineSep": "barkStriation",
83
+ "statusLineModel": "#5a6a5a",
84
+ "statusLinePath": "#4a5a60",
85
+ "statusLineGitClean": "darkMoss",
86
+ "statusLineGitDirty": "#9a7040",
87
+ "statusLineContext": "#6a6a70",
88
+ "statusLineSpend": "#4a6a6a",
89
+ "statusLineStaged": 28,
90
+ "statusLineDirty": 136,
91
+ "statusLineUntracked": 31,
92
+ "statusLineOutput": 133,
93
+ "statusLineCost": 133,
94
+ "statusLineSubagents": "mossSage"
95
+ },
96
+ "export": {
97
+ "pageBg": "#f9f7f1",
98
+ "cardBg": "#fefdfb",
99
+ "infoBg": "#f5f8f3"
100
+ }
101
+ }