@oh-my-pi/pi-coding-agent 3.14.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 (213) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/docs/theme.md +38 -5
  3. package/examples/sdk/11-sessions.ts +2 -2
  4. package/package.json +7 -4
  5. package/src/cli/file-processor.ts +51 -2
  6. package/src/cli/plugin-cli.ts +25 -19
  7. package/src/cli/update-cli.ts +4 -3
  8. package/src/core/agent-session.ts +31 -4
  9. package/src/core/compaction/branch-summarization.ts +4 -32
  10. package/src/core/compaction/compaction.ts +6 -84
  11. package/src/core/compaction/utils.ts +2 -3
  12. package/src/core/custom-tools/types.ts +2 -0
  13. package/src/core/export-html/index.ts +1 -1
  14. package/src/core/hooks/tool-wrapper.ts +0 -1
  15. package/src/core/hooks/types.ts +2 -2
  16. package/src/core/plugins/doctor.ts +9 -1
  17. package/src/core/sdk.ts +2 -1
  18. package/src/core/session-manager.ts +518 -40
  19. package/src/core/settings-manager.ts +174 -0
  20. package/src/core/system-prompt.ts +9 -14
  21. package/src/core/title-generator.ts +2 -8
  22. package/src/core/tools/ask.ts +19 -37
  23. package/src/core/tools/bash.ts +2 -37
  24. package/src/core/tools/edit.ts +2 -9
  25. package/src/core/tools/exa/render.ts +52 -48
  26. package/src/core/tools/find.ts +10 -8
  27. package/src/core/tools/grep.ts +45 -17
  28. package/src/core/tools/ls.ts +22 -2
  29. package/src/core/tools/lsp/clients/biome-client.ts +207 -0
  30. package/src/core/tools/lsp/clients/index.ts +49 -0
  31. package/src/core/tools/lsp/clients/lsp-linter-client.ts +98 -0
  32. package/src/core/tools/lsp/config.ts +3 -0
  33. package/src/core/tools/lsp/index.ts +107 -55
  34. package/src/core/tools/lsp/render.ts +192 -79
  35. package/src/core/tools/lsp/types.ts +27 -0
  36. package/src/core/tools/lsp/utils.ts +62 -22
  37. package/src/core/tools/notebook.ts +9 -1
  38. package/src/core/tools/output.ts +37 -14
  39. package/src/core/tools/read.ts +349 -34
  40. package/src/core/tools/renderers.ts +290 -89
  41. package/src/core/tools/review.ts +12 -5
  42. package/src/core/tools/task/agents.ts +5 -5
  43. package/src/core/tools/task/commands.ts +3 -3
  44. package/src/core/tools/task/executor.ts +33 -1
  45. package/src/core/tools/task/index.ts +93 -6
  46. package/src/core/tools/task/render.ts +147 -66
  47. package/src/core/tools/task/types.ts +14 -9
  48. package/src/core/tools/web-fetch.ts +242 -103
  49. package/src/core/tools/web-search/index.ts +64 -20
  50. package/src/core/tools/web-search/providers/exa.ts +68 -172
  51. package/src/core/tools/web-search/render.ts +264 -74
  52. package/src/core/tools/write.ts +2 -8
  53. package/src/main.ts +10 -6
  54. package/src/modes/cleanup.ts +23 -0
  55. package/src/modes/index.ts +9 -4
  56. package/src/modes/interactive/components/bash-execution.ts +6 -3
  57. package/src/modes/interactive/components/branch-summary-message.ts +1 -1
  58. package/src/modes/interactive/components/compaction-summary-message.ts +1 -1
  59. package/src/modes/interactive/components/dynamic-border.ts +1 -1
  60. package/src/modes/interactive/components/extensions/extension-dashboard.ts +4 -5
  61. package/src/modes/interactive/components/extensions/extension-list.ts +18 -16
  62. package/src/modes/interactive/components/extensions/inspector-panel.ts +8 -8
  63. package/src/modes/interactive/components/hook-editor.ts +1 -0
  64. package/src/modes/interactive/components/hook-message.ts +2 -2
  65. package/src/modes/interactive/components/hook-selector.ts +1 -1
  66. package/src/modes/interactive/components/model-selector.ts +22 -9
  67. package/src/modes/interactive/components/oauth-selector.ts +20 -4
  68. package/src/modes/interactive/components/plugin-settings.ts +4 -2
  69. package/src/modes/interactive/components/session-selector.ts +9 -6
  70. package/src/modes/interactive/components/settings-defs.ts +285 -1
  71. package/src/modes/interactive/components/settings-selector.ts +176 -3
  72. package/src/modes/interactive/components/status-line/index.ts +4 -0
  73. package/src/modes/interactive/components/status-line/presets.ts +94 -0
  74. package/src/modes/interactive/components/status-line/segments.ts +350 -0
  75. package/src/modes/interactive/components/status-line/separators.ts +55 -0
  76. package/src/modes/interactive/components/status-line/types.ts +81 -0
  77. package/src/modes/interactive/components/status-line-segment-editor.ts +357 -0
  78. package/src/modes/interactive/components/status-line.ts +172 -223
  79. package/src/modes/interactive/components/tool-execution.ts +446 -211
  80. package/src/modes/interactive/components/tree-selector.ts +17 -6
  81. package/src/modes/interactive/components/ttsr-notification.ts +4 -4
  82. package/src/modes/interactive/components/welcome.ts +27 -19
  83. package/src/modes/interactive/interactive-mode.ts +99 -13
  84. package/src/modes/interactive/theme/dark.json +3 -2
  85. package/src/modes/interactive/theme/defaults/alabaster.json +99 -0
  86. package/src/modes/interactive/theme/defaults/amethyst.json +103 -0
  87. package/src/modes/interactive/theme/defaults/anthracite.json +100 -0
  88. package/src/modes/interactive/theme/defaults/basalt.json +90 -0
  89. package/src/modes/interactive/theme/defaults/birch.json +101 -0
  90. package/src/modes/interactive/theme/defaults/dark-abyss.json +97 -0
  91. package/src/modes/interactive/theme/defaults/dark-arctic.json +111 -0
  92. package/src/modes/interactive/theme/defaults/dark-aurora.json +94 -0
  93. package/src/modes/interactive/theme/defaults/dark-catppuccin.json +106 -0
  94. package/src/modes/interactive/theme/defaults/dark-cavern.json +97 -0
  95. package/src/modes/interactive/theme/defaults/dark-copper.json +94 -0
  96. package/src/modes/interactive/theme/defaults/dark-cosmos.json +96 -0
  97. package/src/modes/interactive/theme/defaults/dark-cyberpunk.json +109 -0
  98. package/src/modes/interactive/theme/defaults/dark-dracula.json +105 -0
  99. package/src/modes/interactive/theme/defaults/dark-eclipse.json +97 -0
  100. package/src/modes/interactive/theme/defaults/dark-ember.json +94 -0
  101. package/src/modes/interactive/theme/defaults/dark-equinox.json +96 -0
  102. package/src/modes/interactive/theme/defaults/dark-forest.json +103 -0
  103. package/src/modes/interactive/theme/defaults/dark-github.json +112 -0
  104. package/src/modes/interactive/theme/defaults/dark-gruvbox.json +119 -0
  105. package/src/modes/interactive/theme/defaults/dark-lavender.json +94 -0
  106. package/src/modes/interactive/theme/defaults/dark-lunar.json +95 -0
  107. package/src/modes/interactive/theme/defaults/dark-midnight.json +94 -0
  108. package/src/modes/interactive/theme/defaults/dark-monochrome.json +101 -0
  109. package/src/modes/interactive/theme/defaults/dark-monokai.json +105 -0
  110. package/src/modes/interactive/theme/defaults/dark-nebula.json +96 -0
  111. package/src/modes/interactive/theme/defaults/dark-nord.json +104 -0
  112. package/src/modes/interactive/theme/defaults/dark-ocean.json +108 -0
  113. package/src/modes/interactive/theme/defaults/dark-one.json +107 -0
  114. package/src/modes/interactive/theme/defaults/dark-rainforest.json +97 -0
  115. package/src/modes/interactive/theme/defaults/dark-reef.json +97 -0
  116. package/src/modes/interactive/theme/defaults/dark-retro.json +99 -0
  117. package/src/modes/interactive/theme/defaults/dark-rose-pine.json +95 -0
  118. package/src/modes/interactive/theme/defaults/dark-sakura.json +94 -0
  119. package/src/modes/interactive/theme/defaults/dark-slate.json +94 -0
  120. package/src/modes/interactive/theme/defaults/dark-solarized.json +96 -0
  121. package/src/modes/interactive/theme/defaults/dark-solstice.json +96 -0
  122. package/src/modes/interactive/theme/defaults/dark-starfall.json +97 -0
  123. package/src/modes/interactive/theme/defaults/dark-sunset.json +106 -0
  124. package/src/modes/interactive/theme/defaults/dark-swamp.json +96 -0
  125. package/src/modes/interactive/theme/defaults/dark-synthwave.json +102 -0
  126. package/src/modes/interactive/theme/defaults/dark-taiga.json +97 -0
  127. package/src/modes/interactive/theme/defaults/dark-terminal.json +94 -0
  128. package/src/modes/interactive/theme/defaults/dark-tokyo-night.json +108 -0
  129. package/src/modes/interactive/theme/defaults/dark-tundra.json +97 -0
  130. package/src/modes/interactive/theme/defaults/dark-twilight.json +97 -0
  131. package/src/modes/interactive/theme/defaults/dark-volcanic.json +97 -0
  132. package/src/modes/interactive/theme/defaults/graphite.json +99 -0
  133. package/src/modes/interactive/theme/defaults/index.ts +195 -0
  134. package/src/modes/interactive/theme/defaults/light-arctic.json +106 -0
  135. package/src/modes/interactive/theme/defaults/light-aurora-day.json +97 -0
  136. package/src/modes/interactive/theme/defaults/light-canyon.json +97 -0
  137. package/src/modes/interactive/theme/defaults/light-catppuccin.json +105 -0
  138. package/src/modes/interactive/theme/defaults/light-cirrus.json +96 -0
  139. package/src/modes/interactive/theme/defaults/light-coral.json +94 -0
  140. package/src/modes/interactive/theme/defaults/light-cyberpunk.json +103 -0
  141. package/src/modes/interactive/theme/defaults/light-dawn.json +96 -0
  142. package/src/modes/interactive/theme/defaults/light-dunes.json +97 -0
  143. package/src/modes/interactive/theme/defaults/light-eucalyptus.json +94 -0
  144. package/src/modes/interactive/theme/defaults/light-forest.json +107 -0
  145. package/src/modes/interactive/theme/defaults/light-frost.json +94 -0
  146. package/src/modes/interactive/theme/defaults/light-github.json +114 -0
  147. package/src/modes/interactive/theme/defaults/light-glacier.json +97 -0
  148. package/src/modes/interactive/theme/defaults/light-gruvbox.json +115 -0
  149. package/src/modes/interactive/theme/defaults/light-haze.json +96 -0
  150. package/src/modes/interactive/theme/defaults/light-honeycomb.json +94 -0
  151. package/src/modes/interactive/theme/defaults/light-lagoon.json +97 -0
  152. package/src/modes/interactive/theme/defaults/light-lavender.json +94 -0
  153. package/src/modes/interactive/theme/defaults/light-meadow.json +97 -0
  154. package/src/modes/interactive/theme/defaults/light-mint.json +94 -0
  155. package/src/modes/interactive/theme/defaults/light-monochrome.json +100 -0
  156. package/src/modes/interactive/theme/defaults/light-ocean.json +106 -0
  157. package/src/modes/interactive/theme/defaults/light-one.json +105 -0
  158. package/src/modes/interactive/theme/defaults/light-opal.json +97 -0
  159. package/src/modes/interactive/theme/defaults/light-orchard.json +97 -0
  160. package/src/modes/interactive/theme/defaults/light-paper.json +94 -0
  161. package/src/modes/interactive/theme/defaults/light-prism.json +96 -0
  162. package/src/modes/interactive/theme/defaults/light-retro.json +105 -0
  163. package/src/modes/interactive/theme/defaults/light-sand.json +94 -0
  164. package/src/modes/interactive/theme/defaults/light-savanna.json +97 -0
  165. package/src/modes/interactive/theme/defaults/light-solarized.json +101 -0
  166. package/src/modes/interactive/theme/defaults/light-soleil.json +96 -0
  167. package/src/modes/interactive/theme/defaults/light-sunset.json +106 -0
  168. package/src/modes/interactive/theme/defaults/light-synthwave.json +105 -0
  169. package/src/modes/interactive/theme/defaults/light-tokyo-night.json +118 -0
  170. package/src/modes/interactive/theme/defaults/light-wetland.json +97 -0
  171. package/src/modes/interactive/theme/defaults/light-zenith.json +95 -0
  172. package/src/modes/interactive/theme/defaults/limestone.json +100 -0
  173. package/src/modes/interactive/theme/defaults/mahogany.json +104 -0
  174. package/src/modes/interactive/theme/defaults/marble.json +99 -0
  175. package/src/modes/interactive/theme/defaults/obsidian.json +90 -0
  176. package/src/modes/interactive/theme/defaults/onyx.json +90 -0
  177. package/src/modes/interactive/theme/defaults/pearl.json +99 -0
  178. package/src/modes/interactive/theme/defaults/porcelain.json +90 -0
  179. package/src/modes/interactive/theme/defaults/quartz.json +102 -0
  180. package/src/modes/interactive/theme/defaults/sandstone.json +101 -0
  181. package/src/modes/interactive/theme/defaults/titanium.json +89 -0
  182. package/src/modes/interactive/theme/light.json +3 -2
  183. package/src/modes/interactive/theme/theme-schema.json +120 -4
  184. package/src/modes/interactive/theme/theme.ts +1228 -14
  185. package/src/prompts/branch-summary-preamble.md +3 -0
  186. package/src/prompts/branch-summary.md +28 -0
  187. package/src/prompts/compaction-summary.md +34 -0
  188. package/src/prompts/compaction-turn-prefix.md +16 -0
  189. package/src/prompts/compaction-update-summary.md +41 -0
  190. package/src/prompts/init.md +30 -0
  191. package/src/{core/tools/task/bundled-agents → prompts}/reviewer.md +6 -0
  192. package/src/prompts/summarization-system.md +3 -0
  193. package/src/prompts/system-prompt.md +27 -0
  194. package/src/{core/tools/task/bundled-agents → prompts}/task.md +2 -0
  195. package/src/prompts/title-system.md +8 -0
  196. package/src/prompts/tools/ask.md +24 -0
  197. package/src/prompts/tools/bash.md +23 -0
  198. package/src/prompts/tools/edit.md +9 -0
  199. package/src/prompts/tools/find.md +6 -0
  200. package/src/prompts/tools/grep.md +12 -0
  201. package/src/prompts/tools/lsp.md +14 -0
  202. package/src/prompts/tools/output.md +23 -0
  203. package/src/prompts/tools/read.md +25 -0
  204. package/src/prompts/tools/web-fetch.md +8 -0
  205. package/src/prompts/tools/web-search.md +10 -0
  206. package/src/prompts/tools/write.md +10 -0
  207. package/src/commands/init.md +0 -20
  208. /package/src/{core/tools/task/bundled-commands → prompts}/architect-plan.md +0 -0
  209. /package/src/{core/tools/task/bundled-agents → prompts}/browser.md +0 -0
  210. /package/src/{core/tools/task/bundled-agents → prompts}/explore.md +0 -0
  211. /package/src/{core/tools/task/bundled-commands → prompts}/implement-with-critic.md +0 -0
  212. /package/src/{core/tools/task/bundled-commands → prompts}/implement.md +0 -0
  213. /package/src/{core/tools/task/bundled-agents → prompts}/plan.md +0 -0
@@ -0,0 +1,90 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "porcelain",
4
+ "vars": {
5
+ "porcelainWhite": "#f8f9fc",
6
+ "wedgwoodBlue": "#5070a0",
7
+ "goldTrim": "#b09040",
8
+ "delicateGray": "#d0d4e0",
9
+ "cobaltBlack": "#1a2030",
10
+ "paleBlue": "#e8eef8",
11
+ "deepWedgwood": "#405080",
12
+ "warmGold": "#c0a050",
13
+ "softBlue": "#708cb0",
14
+ "crimsonRed": "#c04040",
15
+ "darkGold": "#907030",
16
+ "mutedBlue": "#909cb0"
17
+ },
18
+ "colors": {
19
+ "accent": "wedgwoodBlue",
20
+ "border": "delicateGray",
21
+ "borderAccent": "wedgwoodBlue",
22
+ "borderMuted": "#e8eaf0",
23
+ "success": "#507050",
24
+ "error": "crimsonRed",
25
+ "warning": "darkGold",
26
+ "muted": "mutedBlue",
27
+ "dim": "#a0a8b8",
28
+ "text": "",
29
+ "thinkingText": "softBlue",
30
+ "selectedBg": "paleBlue",
31
+ "userMessageBg": "wedgwoodBlue",
32
+ "userMessageText": "",
33
+ "customMessageBg": "goldTrim",
34
+ "customMessageText": "",
35
+ "customMessageLabel": "warmGold",
36
+ "toolPendingBg": "paleBlue",
37
+ "toolSuccessBg": "#e8f0e8",
38
+ "toolErrorBg": "#f8e8e8",
39
+ "toolTitle": "",
40
+ "toolOutput": "cobaltBlack",
41
+ "mdHeading": "deepWedgwood",
42
+ "mdLink": "wedgwoodBlue",
43
+ "mdLinkUrl": "goldTrim",
44
+ "mdCode": "darkGold",
45
+ "mdCodeBlock": "cobaltBlack",
46
+ "mdCodeBlockBorder": "delicateGray",
47
+ "mdQuote": "softBlue",
48
+ "mdQuoteBorder": "wedgwoodBlue",
49
+ "mdHr": "delicateGray",
50
+ "mdListBullet": "wedgwoodBlue",
51
+ "toolDiffAdded": "#507050",
52
+ "toolDiffRemoved": "crimsonRed",
53
+ "toolDiffContext": "mutedBlue",
54
+ "syntaxComment": "mutedBlue",
55
+ "syntaxKeyword": "deepWedgwood",
56
+ "syntaxFunction": "wedgwoodBlue",
57
+ "syntaxVariable": "cobaltBlack",
58
+ "syntaxString": "darkGold",
59
+ "syntaxNumber": "goldTrim",
60
+ "syntaxType": "deepWedgwood",
61
+ "syntaxOperator": "softBlue",
62
+ "syntaxPunctuation": "#606870",
63
+ "thinkingOff": "#c0c4d0",
64
+ "thinkingMinimal": "mutedBlue",
65
+ "thinkingLow": "softBlue",
66
+ "thinkingMedium": "wedgwoodBlue",
67
+ "thinkingHigh": "deepWedgwood",
68
+ "thinkingXhigh": "cobaltBlack",
69
+ "bashMode": "goldTrim",
70
+ "statusLineBg": "porcelainWhite",
71
+ "statusLineSep": "delicateGray",
72
+ "statusLineModel": "wedgwoodBlue",
73
+ "statusLinePath": "cobaltBlack",
74
+ "statusLineGitClean": "#507050",
75
+ "statusLineGitDirty": "darkGold",
76
+ "statusLineContext": "softBlue",
77
+ "statusLineSpend": "goldTrim",
78
+ "statusLineStaged": "#507050",
79
+ "statusLineDirty": "darkGold",
80
+ "statusLineUntracked": "mutedBlue",
81
+ "statusLineOutput": "wedgwoodBlue",
82
+ "statusLineCost": "goldTrim",
83
+ "statusLineSubagents": "deepWedgwood"
84
+ },
85
+ "export": {
86
+ "pageBg": "porcelainWhite",
87
+ "cardBg": "#ffffff",
88
+ "infoBg": "paleBlue"
89
+ }
90
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "quartz",
4
+ "vars": {
5
+ "rosePink": "#c07088",
6
+ "quartzPurple": "#8070a0",
7
+ "softRose": "#e8dce0",
8
+ "deepRoseGray": "#3a2830",
9
+ "palePink": "#f5e8ed",
10
+ "dustyRose": "#9e6b7b",
11
+ "lavenderGray": "#a898b0",
12
+ "crystalMint": "#7fa090",
13
+ "warmGold": "#c09870",
14
+ "roseRed": "#b85860",
15
+ "roseGreen": "#88a088",
16
+ "selectedBg": "#f0e0e8",
17
+ "userMsgBg": "#faf5f7",
18
+ "toolPendingBg": "#f5eef8",
19
+ "toolSuccessBg": "#f0f5f0",
20
+ "toolErrorBg": "#f8f0f0",
21
+ "customMsgBg": "#f5f0f8"
22
+ },
23
+ "colors": {
24
+ "accent": "rosePink",
25
+ "border": "quartzPurple",
26
+ "borderAccent": "rosePink",
27
+ "borderMuted": "softRose",
28
+ "success": "roseGreen",
29
+ "error": "roseRed",
30
+ "warning": "warmGold",
31
+ "muted": "dustyRose",
32
+ "dim": "lavenderGray",
33
+ "text": "",
34
+ "thinkingText": "dustyRose",
35
+
36
+ "selectedBg": "selectedBg",
37
+ "userMessageBg": "userMsgBg",
38
+ "userMessageText": "",
39
+ "customMessageBg": "customMsgBg",
40
+ "customMessageText": "",
41
+ "customMessageLabel": "#8070a0",
42
+ "toolPendingBg": "toolPendingBg",
43
+ "toolSuccessBg": "toolSuccessBg",
44
+ "toolErrorBg": "toolErrorBg",
45
+ "toolTitle": "",
46
+ "toolOutput": "dustyRose",
47
+
48
+ "mdHeading": "warmGold",
49
+ "mdLink": "quartzPurple",
50
+ "mdLinkUrl": "lavenderGray",
51
+ "mdCode": "rosePink",
52
+ "mdCodeBlock": "crystalMint",
53
+ "mdCodeBlockBorder": "dustyRose",
54
+ "mdQuote": "dustyRose",
55
+ "mdQuoteBorder": "softRose",
56
+ "mdHr": "softRose",
57
+ "mdListBullet": "roseGreen",
58
+
59
+ "toolDiffAdded": "roseGreen",
60
+ "toolDiffRemoved": "roseRed",
61
+ "toolDiffContext": "dustyRose",
62
+
63
+ "syntaxComment": "#7fa090",
64
+ "syntaxKeyword": "#8070a0",
65
+ "syntaxFunction": "#c07088",
66
+ "syntaxVariable": "#3a2830",
67
+ "syntaxString": "#b85860",
68
+ "syntaxNumber": "#88a088",
69
+ "syntaxType": "#9e6b7b",
70
+ "syntaxOperator": "#3a2830",
71
+ "syntaxPunctuation": "#3a2830",
72
+
73
+ "thinkingOff": "softRose",
74
+ "thinkingMinimal": "#a898b0",
75
+ "thinkingLow": "#8070a0",
76
+ "thinkingMedium": "#c07088",
77
+ "thinkingHigh": "#9e6b7b",
78
+ "thinkingXhigh": "#8b4560",
79
+
80
+ "bashMode": "roseGreen",
81
+
82
+ "statusLineBg": "#f5e8ed",
83
+ "statusLineSep": "#9e6b7b",
84
+ "statusLineModel": "#8070a0",
85
+ "statusLinePath": "#7fa090",
86
+ "statusLineGitClean": "#5f875f",
87
+ "statusLineGitDirty": "#c09870",
88
+ "statusLineContext": "#8070a0",
89
+ "statusLineSpend": "#7fa090",
90
+ "statusLineStaged": 108,
91
+ "statusLineDirty": 180,
92
+ "statusLineUntracked": 139,
93
+ "statusLineOutput": 132,
94
+ "statusLineCost": 132,
95
+ "statusLineSubagents": "rosePink"
96
+ },
97
+ "export": {
98
+ "pageBg": "#fbf7f9",
99
+ "cardBg": "#ffffff",
100
+ "infoBg": "#faf5f7"
101
+ }
102
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "sandstone",
4
+ "vars": {
5
+ "rust": "#b86040",
6
+ "sage": "#688058",
7
+ "terracotta": "#c87850",
8
+ "olive": "#7a8a68",
9
+ "amber": "#d89850",
10
+ "shadow": "#302820",
11
+ "darkGray": "#544840",
12
+ "mediumGray": "#786858",
13
+ "erosion": "#d8cbb8",
14
+ "sand": "#f5ede3",
15
+ "selectedBg": "#e8dcc8",
16
+ "userMsgBg": "#f0e6d8",
17
+ "toolPendingBg": "#e8e0d0",
18
+ "toolSuccessBg": "#e0e8d8",
19
+ "toolErrorBg": "#e8d0c8",
20
+ "customMsgBg": "#e8dcd0"
21
+ },
22
+ "colors": {
23
+ "accent": "rust",
24
+ "border": "terracotta",
25
+ "borderAccent": "rust",
26
+ "borderMuted": "erosion",
27
+ "success": "sage",
28
+ "error": "rust",
29
+ "warning": "amber",
30
+ "muted": "mediumGray",
31
+ "dim": "darkGray",
32
+ "text": "",
33
+ "thinkingText": "mediumGray",
34
+
35
+ "selectedBg": "selectedBg",
36
+ "userMessageBg": "userMsgBg",
37
+ "userMessageText": "",
38
+ "customMessageBg": "customMsgBg",
39
+ "customMessageText": "",
40
+ "customMessageLabel": "#a05030",
41
+ "toolPendingBg": "toolPendingBg",
42
+ "toolSuccessBg": "toolSuccessBg",
43
+ "toolErrorBg": "toolErrorBg",
44
+ "toolTitle": "",
45
+ "toolOutput": "mediumGray",
46
+
47
+ "mdHeading": "amber",
48
+ "mdLink": "terracotta",
49
+ "mdLinkUrl": "mediumGray",
50
+ "mdCode": "rust",
51
+ "mdCodeBlock": "sage",
52
+ "mdCodeBlockBorder": "mediumGray",
53
+ "mdQuote": "mediumGray",
54
+ "mdQuoteBorder": "erosion",
55
+ "mdHr": "erosion",
56
+ "mdListBullet": "sage",
57
+
58
+ "toolDiffAdded": "sage",
59
+ "toolDiffRemoved": "rust",
60
+ "toolDiffContext": "mediumGray",
61
+
62
+ "syntaxComment": "#688058",
63
+ "syntaxKeyword": "#b86040",
64
+ "syntaxFunction": "#c87850",
65
+ "syntaxVariable": "#544840",
66
+ "syntaxString": "#a05030",
67
+ "syntaxNumber": "#7a8a68",
68
+ "syntaxType": "#8a6848",
69
+ "syntaxOperator": "#302820",
70
+ "syntaxPunctuation": "#302820",
71
+
72
+ "thinkingOff": "erosion",
73
+ "thinkingMinimal": "#a89888",
74
+ "thinkingLow": "#c87850",
75
+ "thinkingMedium": "#b86040",
76
+ "thinkingHigh": "#a05030",
77
+ "thinkingXhigh": "#903020",
78
+
79
+ "bashMode": "sage",
80
+
81
+ "statusLineBg": "#ebe0d0",
82
+ "statusLineSep": "#9a8878",
83
+ "statusLineModel": "#a05030",
84
+ "statusLinePath": "#8a6848",
85
+ "statusLineGitClean": "#588048",
86
+ "statusLineGitDirty": "#c87850",
87
+ "statusLineContext": "#786858",
88
+ "statusLineSpend": "#688058",
89
+ "statusLineStaged": 100,
90
+ "statusLineDirty": 173,
91
+ "statusLineUntracked": 95,
92
+ "statusLineOutput": 131,
93
+ "statusLineCost": 131,
94
+ "statusLineSubagents": "rust"
95
+ },
96
+ "export": {
97
+ "pageBg": "#f5ede3",
98
+ "cardBg": "#faf6f0",
99
+ "infoBg": "#f0e6d8"
100
+ }
101
+ }
@@ -0,0 +1,89 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "titanium",
4
+ "vars": {
5
+ "brushedTitanium": "#151820",
6
+ "darkTitanium": "#0f1216",
7
+ "electricBlue": "#00b4ff",
8
+ "deepBlue": "#0082b3",
9
+ "titaniumGold": "#d4c090",
10
+ "brightAluminum": "#e8ecf4",
11
+ "dimAluminum": "#9ca3b0",
12
+ "warningAmber": "#ffb347",
13
+ "readoutGreen": "#00ff88",
14
+ "alertRed": "#ff4757",
15
+ "subtleGray": "#2a3038"
16
+ },
17
+ "colors": {
18
+ "accent": "electricBlue",
19
+ "border": "subtleGray",
20
+ "borderAccent": "electricBlue",
21
+ "borderMuted": "#1f252d",
22
+ "success": "readoutGreen",
23
+ "error": "alertRed",
24
+ "warning": "warningAmber",
25
+ "muted": "dimAluminum",
26
+ "dim": "#6b7280",
27
+ "text": "",
28
+ "thinkingText": "dimAluminum",
29
+ "selectedBg": "deepBlue",
30
+ "userMessageBg": "darkTitanium",
31
+ "userMessageText": "",
32
+ "customMessageBg": "subtleGray",
33
+ "customMessageText": "",
34
+ "customMessageLabel": "titaniumGold",
35
+ "toolPendingBg": "darkTitanium",
36
+ "toolSuccessBg": "darkTitanium",
37
+ "toolErrorBg": "#1a0f10",
38
+ "toolTitle": "",
39
+ "toolOutput": "dimAluminum",
40
+ "mdHeading": "electricBlue",
41
+ "mdLink": "electricBlue",
42
+ "mdLinkUrl": "deepBlue",
43
+ "mdCode": "readoutGreen",
44
+ "mdCodeBlock": "dimAluminum",
45
+ "mdCodeBlockBorder": "subtleGray",
46
+ "mdQuote": "dimAluminum",
47
+ "mdQuoteBorder": "subtleGray",
48
+ "mdHr": "subtleGray",
49
+ "mdListBullet": "electricBlue",
50
+ "toolDiffAdded": "readoutGreen",
51
+ "toolDiffRemoved": "alertRed",
52
+ "toolDiffContext": "dimAluminum",
53
+ "syntaxComment": "#6b7280",
54
+ "syntaxKeyword": "electricBlue",
55
+ "syntaxFunction": "readoutGreen",
56
+ "syntaxVariable": "brightAluminum",
57
+ "syntaxString": "titaniumGold",
58
+ "syntaxNumber": "warningAmber",
59
+ "syntaxType": "electricBlue",
60
+ "syntaxOperator": "electricBlue",
61
+ "syntaxPunctuation": "dimAluminum",
62
+ "thinkingOff": "#4a5058",
63
+ "thinkingMinimal": "#5a6068",
64
+ "thinkingLow": "#6a7078",
65
+ "thinkingMedium": "dimAluminum",
66
+ "thinkingHigh": "electricBlue",
67
+ "thinkingXhigh": "titaniumGold",
68
+ "bashMode": "readoutGreen",
69
+ "statusLineBg": "darkTitanium",
70
+ "statusLineSep": "subtleGray",
71
+ "statusLineModel": "electricBlue",
72
+ "statusLinePath": "brightAluminum",
73
+ "statusLineGitClean": "readoutGreen",
74
+ "statusLineGitDirty": "warningAmber",
75
+ "statusLineContext": "dimAluminum",
76
+ "statusLineSpend": "titaniumGold",
77
+ "statusLineStaged": "readoutGreen",
78
+ "statusLineDirty": "warningAmber",
79
+ "statusLineUntracked": "dimAluminum",
80
+ "statusLineOutput": "deepBlue",
81
+ "statusLineCost": "titaniumGold",
82
+ "statusLineSubagents": "electricBlue"
83
+ },
84
+ "export": {
85
+ "pageBg": "brushedTitanium",
86
+ "cardBg": "darkTitanium",
87
+ "infoBg": "subtleGray"
88
+ }
89
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/theme-schema.json",
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
3
  "name": "light",
4
4
  "vars": {
5
5
  "teal": "#5f8787",
@@ -88,7 +88,8 @@
88
88
  "statusLineDirty": 136,
89
89
  "statusLineUntracked": 31,
90
90
  "statusLineOutput": 133,
91
- "statusLineCost": 133
91
+ "statusLineCost": 133,
92
+ "statusLineSubagents": "teal"
92
93
  },
93
94
  "export": {
94
95
  "pageBg": "#f8f8f8",
@@ -45,6 +45,8 @@
45
45
  "muted",
46
46
  "dim",
47
47
  "text",
48
+ "thinkingText",
49
+ "selectedBg",
48
50
  "userMessageBg",
49
51
  "userMessageText",
50
52
  "customMessageBg",
@@ -53,9 +55,11 @@
53
55
  "toolPendingBg",
54
56
  "toolSuccessBg",
55
57
  "toolErrorBg",
56
- "toolText",
58
+ "toolTitle",
59
+ "toolOutput",
57
60
  "mdHeading",
58
61
  "mdLink",
62
+ "mdLinkUrl",
59
63
  "mdCode",
60
64
  "mdCodeBlock",
61
65
  "mdCodeBlockBorder",
@@ -74,7 +78,28 @@
74
78
  "syntaxNumber",
75
79
  "syntaxType",
76
80
  "syntaxOperator",
77
- "syntaxPunctuation"
81
+ "syntaxPunctuation",
82
+ "thinkingOff",
83
+ "thinkingMinimal",
84
+ "thinkingLow",
85
+ "thinkingMedium",
86
+ "thinkingHigh",
87
+ "thinkingXhigh",
88
+ "bashMode",
89
+ "statusLineBg",
90
+ "statusLineSep",
91
+ "statusLineModel",
92
+ "statusLinePath",
93
+ "statusLineGitClean",
94
+ "statusLineGitDirty",
95
+ "statusLineContext",
96
+ "statusLineSpend",
97
+ "statusLineStaged",
98
+ "statusLineDirty",
99
+ "statusLineUntracked",
100
+ "statusLineOutput",
101
+ "statusLineCost",
102
+ "statusLineSubagents"
78
103
  ],
79
104
  "properties": {
80
105
  "accent": {
@@ -117,6 +142,14 @@
117
142
  "$ref": "#/$defs/colorValue",
118
143
  "description": "Default text color (usually empty string)"
119
144
  },
145
+ "thinkingText": {
146
+ "$ref": "#/$defs/colorValue",
147
+ "description": "Thinking text color"
148
+ },
149
+ "selectedBg": {
150
+ "$ref": "#/$defs/colorValue",
151
+ "description": "Selected background (list highlight)"
152
+ },
120
153
  "userMessageBg": {
121
154
  "$ref": "#/$defs/colorValue",
122
155
  "description": "User message background"
@@ -149,9 +182,13 @@
149
182
  "$ref": "#/$defs/colorValue",
150
183
  "description": "Tool execution box (error state)"
151
184
  },
152
- "toolText": {
185
+ "toolTitle": {
186
+ "$ref": "#/$defs/colorValue",
187
+ "description": "Tool title text"
188
+ },
189
+ "toolOutput": {
153
190
  "$ref": "#/$defs/colorValue",
154
- "description": "Tool execution box text color"
191
+ "description": "Tool output text"
155
192
  },
156
193
  "mdHeading": {
157
194
  "$ref": "#/$defs/colorValue",
@@ -161,6 +198,10 @@
161
198
  "$ref": "#/$defs/colorValue",
162
199
  "description": "Markdown link text"
163
200
  },
201
+ "mdLinkUrl": {
202
+ "$ref": "#/$defs/colorValue",
203
+ "description": "Markdown link URL text"
204
+ },
164
205
  "mdCode": {
165
206
  "$ref": "#/$defs/colorValue",
166
207
  "description": "Markdown inline code"
@@ -264,6 +305,62 @@
264
305
  "bashMode": {
265
306
  "$ref": "#/$defs/colorValue",
266
307
  "description": "Editor border color in bash mode"
308
+ },
309
+ "statusLineBg": {
310
+ "$ref": "#/$defs/colorValue",
311
+ "description": "Status line background"
312
+ },
313
+ "statusLineSep": {
314
+ "$ref": "#/$defs/colorValue",
315
+ "description": "Status line separator color"
316
+ },
317
+ "statusLineModel": {
318
+ "$ref": "#/$defs/colorValue",
319
+ "description": "Status line model segment"
320
+ },
321
+ "statusLinePath": {
322
+ "$ref": "#/$defs/colorValue",
323
+ "description": "Status line path segment"
324
+ },
325
+ "statusLineGitClean": {
326
+ "$ref": "#/$defs/colorValue",
327
+ "description": "Status line git clean"
328
+ },
329
+ "statusLineGitDirty": {
330
+ "$ref": "#/$defs/colorValue",
331
+ "description": "Status line git dirty"
332
+ },
333
+ "statusLineContext": {
334
+ "$ref": "#/$defs/colorValue",
335
+ "description": "Status line context segment"
336
+ },
337
+ "statusLineSpend": {
338
+ "$ref": "#/$defs/colorValue",
339
+ "description": "Status line spend segment"
340
+ },
341
+ "statusLineStaged": {
342
+ "$ref": "#/$defs/colorValue",
343
+ "description": "Status line git staged"
344
+ },
345
+ "statusLineDirty": {
346
+ "$ref": "#/$defs/colorValue",
347
+ "description": "Status line git dirty count"
348
+ },
349
+ "statusLineUntracked": {
350
+ "$ref": "#/$defs/colorValue",
351
+ "description": "Status line git untracked"
352
+ },
353
+ "statusLineOutput": {
354
+ "$ref": "#/$defs/colorValue",
355
+ "description": "Status line output segment"
356
+ },
357
+ "statusLineCost": {
358
+ "$ref": "#/$defs/colorValue",
359
+ "description": "Status line cost segment"
360
+ },
361
+ "statusLineSubagents": {
362
+ "$ref": "#/$defs/colorValue",
363
+ "description": "Status line subagents segment"
267
364
  }
268
365
  },
269
366
  "additionalProperties": false
@@ -286,6 +383,25 @@
286
383
  }
287
384
  },
288
385
  "additionalProperties": false
386
+ },
387
+ "symbols": {
388
+ "type": "object",
389
+ "description": "Symbol configuration for UI glyphs and icons",
390
+ "properties": {
391
+ "preset": {
392
+ "type": "string",
393
+ "enum": ["unicode", "nerd", "ascii"],
394
+ "description": "Default symbol preset for this theme (can be overridden by user setting)"
395
+ },
396
+ "overrides": {
397
+ "type": "object",
398
+ "description": "Override individual symbol keys (e.g., 'status.success': '✔')",
399
+ "additionalProperties": {
400
+ "type": "string"
401
+ }
402
+ }
403
+ },
404
+ "additionalProperties": false
289
405
  }
290
406
  },
291
407
  "additionalProperties": false,