@oh-my-pi/pi-coding-agent 3.15.0 → 3.20.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.
Files changed (193) hide show
  1. package/CHANGELOG.md +61 -1
  2. package/docs/extensions.md +1055 -0
  3. package/docs/rpc.md +69 -13
  4. package/docs/session-tree-plan.md +1 -1
  5. package/examples/extensions/README.md +141 -0
  6. package/examples/extensions/api-demo.ts +87 -0
  7. package/examples/extensions/chalk-logger.ts +26 -0
  8. package/examples/extensions/hello.ts +33 -0
  9. package/examples/extensions/pirate.ts +44 -0
  10. package/examples/extensions/plan-mode.ts +551 -0
  11. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  12. package/examples/extensions/todo.ts +299 -0
  13. package/examples/extensions/tools.ts +145 -0
  14. package/examples/extensions/with-deps/index.ts +36 -0
  15. package/examples/extensions/with-deps/package-lock.json +31 -0
  16. package/examples/extensions/with-deps/package.json +16 -0
  17. package/examples/sdk/02-custom-model.ts +3 -3
  18. package/examples/sdk/05-tools.ts +7 -3
  19. package/examples/sdk/06-extensions.ts +81 -0
  20. package/examples/sdk/06-hooks.ts +14 -13
  21. package/examples/sdk/08-prompt-templates.ts +42 -0
  22. package/examples/sdk/08-slash-commands.ts +17 -12
  23. package/examples/sdk/09-api-keys-and-oauth.ts +2 -2
  24. package/examples/sdk/12-full-control.ts +6 -6
  25. package/package.json +11 -7
  26. package/src/capability/extension-module.ts +34 -0
  27. package/src/cli/args.ts +22 -7
  28. package/src/cli/file-processor.ts +38 -67
  29. package/src/cli/list-models.ts +1 -1
  30. package/src/config.ts +25 -14
  31. package/src/core/agent-session.ts +505 -242
  32. package/src/core/auth-storage.ts +33 -21
  33. package/src/core/compaction/branch-summarization.ts +4 -4
  34. package/src/core/compaction/compaction.ts +3 -3
  35. package/src/core/custom-commands/bundled/wt/index.ts +430 -0
  36. package/src/core/custom-commands/loader.ts +9 -0
  37. package/src/core/custom-tools/wrapper.ts +5 -0
  38. package/src/core/event-bus.ts +59 -0
  39. package/src/core/export-html/vendor/highlight.min.js +1213 -0
  40. package/src/core/export-html/vendor/marked.min.js +6 -0
  41. package/src/core/extensions/index.ts +100 -0
  42. package/src/core/extensions/loader.ts +501 -0
  43. package/src/core/extensions/runner.ts +477 -0
  44. package/src/core/extensions/types.ts +712 -0
  45. package/src/core/extensions/wrapper.ts +147 -0
  46. package/src/core/hooks/types.ts +2 -2
  47. package/src/core/index.ts +10 -21
  48. package/src/core/keybindings.ts +199 -0
  49. package/src/core/messages.ts +26 -7
  50. package/src/core/model-registry.ts +123 -46
  51. package/src/core/model-resolver.ts +7 -5
  52. package/src/core/prompt-templates.ts +242 -0
  53. package/src/core/sdk.ts +378 -295
  54. package/src/core/session-manager.ts +72 -58
  55. package/src/core/settings-manager.ts +118 -22
  56. package/src/core/system-prompt.ts +24 -1
  57. package/src/core/terminal-notify.ts +37 -0
  58. package/src/core/tools/context.ts +4 -4
  59. package/src/core/tools/exa/mcp-client.ts +5 -4
  60. package/src/core/tools/exa/render.ts +176 -131
  61. package/src/core/tools/gemini-image.ts +361 -0
  62. package/src/core/tools/git.ts +216 -0
  63. package/src/core/tools/index.ts +28 -15
  64. package/src/core/tools/lsp/config.ts +5 -4
  65. package/src/core/tools/lsp/index.ts +17 -12
  66. package/src/core/tools/lsp/render.ts +39 -47
  67. package/src/core/tools/read.ts +66 -29
  68. package/src/core/tools/render-utils.ts +268 -0
  69. package/src/core/tools/renderers.ts +243 -225
  70. package/src/core/tools/task/discovery.ts +2 -2
  71. package/src/core/tools/task/executor.ts +66 -58
  72. package/src/core/tools/task/index.ts +29 -10
  73. package/src/core/tools/task/model-resolver.ts +8 -13
  74. package/src/core/tools/task/omp-command.ts +24 -0
  75. package/src/core/tools/task/render.ts +35 -60
  76. package/src/core/tools/task/types.ts +3 -0
  77. package/src/core/tools/web-fetch.ts +29 -28
  78. package/src/core/tools/web-search/index.ts +6 -5
  79. package/src/core/tools/web-search/providers/exa.ts +6 -5
  80. package/src/core/tools/web-search/render.ts +66 -111
  81. package/src/core/voice-controller.ts +135 -0
  82. package/src/core/voice-supervisor.ts +1003 -0
  83. package/src/core/voice.ts +308 -0
  84. package/src/discovery/builtin.ts +75 -1
  85. package/src/discovery/claude.ts +47 -1
  86. package/src/discovery/codex.ts +54 -2
  87. package/src/discovery/gemini.ts +55 -2
  88. package/src/discovery/helpers.ts +100 -1
  89. package/src/discovery/index.ts +2 -0
  90. package/src/index.ts +14 -9
  91. package/src/lib/worktree/collapse.ts +179 -0
  92. package/src/lib/worktree/constants.ts +14 -0
  93. package/src/lib/worktree/errors.ts +23 -0
  94. package/src/lib/worktree/git.ts +110 -0
  95. package/src/lib/worktree/index.ts +23 -0
  96. package/src/lib/worktree/operations.ts +216 -0
  97. package/src/lib/worktree/session.ts +114 -0
  98. package/src/lib/worktree/stats.ts +67 -0
  99. package/src/main.ts +61 -37
  100. package/src/migrations.ts +37 -7
  101. package/src/modes/interactive/components/bash-execution.ts +6 -4
  102. package/src/modes/interactive/components/custom-editor.ts +55 -0
  103. package/src/modes/interactive/components/custom-message.ts +95 -0
  104. package/src/modes/interactive/components/extensions/extension-list.ts +5 -0
  105. package/src/modes/interactive/components/extensions/inspector-panel.ts +18 -12
  106. package/src/modes/interactive/components/extensions/state-manager.ts +12 -0
  107. package/src/modes/interactive/components/extensions/types.ts +1 -0
  108. package/src/modes/interactive/components/footer.ts +324 -0
  109. package/src/modes/interactive/components/hook-editor.ts +1 -0
  110. package/src/modes/interactive/components/hook-selector.ts +3 -3
  111. package/src/modes/interactive/components/model-selector.ts +7 -6
  112. package/src/modes/interactive/components/oauth-selector.ts +3 -3
  113. package/src/modes/interactive/components/settings-defs.ts +55 -6
  114. package/src/modes/interactive/components/status-line/separators.ts +4 -4
  115. package/src/modes/interactive/components/status-line.ts +45 -35
  116. package/src/modes/interactive/components/tool-execution.ts +95 -23
  117. package/src/modes/interactive/interactive-mode.ts +644 -113
  118. package/src/modes/interactive/theme/defaults/alabaster.json +99 -0
  119. package/src/modes/interactive/theme/defaults/amethyst.json +103 -0
  120. package/src/modes/interactive/theme/defaults/anthracite.json +100 -0
  121. package/src/modes/interactive/theme/defaults/basalt.json +90 -0
  122. package/src/modes/interactive/theme/defaults/birch.json +101 -0
  123. package/src/modes/interactive/theme/defaults/dark-abyss.json +97 -0
  124. package/src/modes/interactive/theme/defaults/dark-aurora.json +94 -0
  125. package/src/modes/interactive/theme/defaults/dark-cavern.json +97 -0
  126. package/src/modes/interactive/theme/defaults/dark-copper.json +94 -0
  127. package/src/modes/interactive/theme/defaults/dark-cosmos.json +96 -0
  128. package/src/modes/interactive/theme/defaults/dark-eclipse.json +97 -0
  129. package/src/modes/interactive/theme/defaults/dark-ember.json +94 -0
  130. package/src/modes/interactive/theme/defaults/dark-equinox.json +96 -0
  131. package/src/modes/interactive/theme/defaults/dark-lavender.json +94 -0
  132. package/src/modes/interactive/theme/defaults/dark-lunar.json +95 -0
  133. package/src/modes/interactive/theme/defaults/dark-midnight.json +94 -0
  134. package/src/modes/interactive/theme/defaults/dark-nebula.json +96 -0
  135. package/src/modes/interactive/theme/defaults/dark-rainforest.json +97 -0
  136. package/src/modes/interactive/theme/defaults/dark-reef.json +97 -0
  137. package/src/modes/interactive/theme/defaults/dark-sakura.json +94 -0
  138. package/src/modes/interactive/theme/defaults/dark-slate.json +94 -0
  139. package/src/modes/interactive/theme/defaults/dark-solstice.json +96 -0
  140. package/src/modes/interactive/theme/defaults/dark-starfall.json +97 -0
  141. package/src/modes/interactive/theme/defaults/dark-swamp.json +96 -0
  142. package/src/modes/interactive/theme/defaults/dark-taiga.json +97 -0
  143. package/src/modes/interactive/theme/defaults/dark-terminal.json +94 -0
  144. package/src/modes/interactive/theme/defaults/dark-tundra.json +97 -0
  145. package/src/modes/interactive/theme/defaults/dark-twilight.json +97 -0
  146. package/src/modes/interactive/theme/defaults/dark-volcanic.json +97 -0
  147. package/src/modes/interactive/theme/defaults/graphite.json +99 -0
  148. package/src/modes/interactive/theme/defaults/index.ts +128 -0
  149. package/src/modes/interactive/theme/defaults/light-aurora-day.json +97 -0
  150. package/src/modes/interactive/theme/defaults/light-canyon.json +97 -0
  151. package/src/modes/interactive/theme/defaults/light-cirrus.json +96 -0
  152. package/src/modes/interactive/theme/defaults/light-coral.json +94 -0
  153. package/src/modes/interactive/theme/defaults/light-dawn.json +96 -0
  154. package/src/modes/interactive/theme/defaults/light-dunes.json +97 -0
  155. package/src/modes/interactive/theme/defaults/light-eucalyptus.json +94 -0
  156. package/src/modes/interactive/theme/defaults/light-frost.json +94 -0
  157. package/src/modes/interactive/theme/defaults/light-glacier.json +97 -0
  158. package/src/modes/interactive/theme/defaults/light-haze.json +96 -0
  159. package/src/modes/interactive/theme/defaults/light-honeycomb.json +94 -0
  160. package/src/modes/interactive/theme/defaults/light-lagoon.json +97 -0
  161. package/src/modes/interactive/theme/defaults/light-lavender.json +94 -0
  162. package/src/modes/interactive/theme/defaults/light-meadow.json +97 -0
  163. package/src/modes/interactive/theme/defaults/light-mint.json +94 -0
  164. package/src/modes/interactive/theme/defaults/light-opal.json +97 -0
  165. package/src/modes/interactive/theme/defaults/light-orchard.json +97 -0
  166. package/src/modes/interactive/theme/defaults/light-paper.json +94 -0
  167. package/src/modes/interactive/theme/defaults/light-prism.json +96 -0
  168. package/src/modes/interactive/theme/defaults/light-sand.json +94 -0
  169. package/src/modes/interactive/theme/defaults/light-savanna.json +97 -0
  170. package/src/modes/interactive/theme/defaults/light-soleil.json +96 -0
  171. package/src/modes/interactive/theme/defaults/light-wetland.json +97 -0
  172. package/src/modes/interactive/theme/defaults/light-zenith.json +95 -0
  173. package/src/modes/interactive/theme/defaults/limestone.json +100 -0
  174. package/src/modes/interactive/theme/defaults/mahogany.json +104 -0
  175. package/src/modes/interactive/theme/defaults/marble.json +99 -0
  176. package/src/modes/interactive/theme/defaults/obsidian.json +90 -0
  177. package/src/modes/interactive/theme/defaults/onyx.json +90 -0
  178. package/src/modes/interactive/theme/defaults/pearl.json +99 -0
  179. package/src/modes/interactive/theme/defaults/porcelain.json +90 -0
  180. package/src/modes/interactive/theme/defaults/quartz.json +102 -0
  181. package/src/modes/interactive/theme/defaults/sandstone.json +101 -0
  182. package/src/modes/interactive/theme/defaults/titanium.json +89 -0
  183. package/src/modes/print-mode.ts +14 -72
  184. package/src/modes/rpc/rpc-client.ts +23 -9
  185. package/src/modes/rpc/rpc-mode.ts +137 -125
  186. package/src/modes/rpc/rpc-types.ts +46 -24
  187. package/src/prompts/task.md +1 -0
  188. package/src/prompts/tools/gemini-image.md +4 -0
  189. package/src/prompts/tools/git.md +9 -0
  190. package/src/prompts/voice-summary.md +12 -0
  191. package/src/utils/image-convert.ts +26 -0
  192. package/src/utils/image-resize.ts +215 -0
  193. package/src/utils/shell-snapshot.ts +22 -20
@@ -0,0 +1,95 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "light-zenith",
4
+ "vars": {
5
+ "paper": "#f6f7fb",
6
+ "ink": "#2f343b",
7
+ "muted": "#4b5563",
8
+ "dim": "#6b7280",
9
+ "silver": "#b8c0cc",
10
+ "blue": "#2a6fbe",
11
+ "cyan": "#2aa3c2",
12
+ "success": "#2f9d65",
13
+ "error": "#c23b3b",
14
+ "warning": "#d0852d"
15
+ },
16
+ "colors": {
17
+ "accent": "blue",
18
+ "border": "silver",
19
+ "borderAccent": "cyan",
20
+ "borderMuted": "#d7dbe3",
21
+ "success": "success",
22
+ "error": "error",
23
+ "warning": "warning",
24
+ "muted": "muted",
25
+ "dim": "dim",
26
+ "text": "",
27
+ "thinkingText": "muted",
28
+
29
+ "selectedBg": "#e9edf5",
30
+ "userMessageBg": "#ffffff",
31
+ "userMessageText": "",
32
+ "customMessageBg": "#eef2f8",
33
+ "customMessageText": "",
34
+ "customMessageLabel": "cyan",
35
+ "toolPendingBg": "#eef1f6",
36
+ "toolSuccessBg": "#eaf5ef",
37
+ "toolErrorBg": "#f8ecec",
38
+ "toolTitle": "",
39
+ "toolOutput": "muted",
40
+
41
+ "mdHeading": "ink",
42
+ "mdLink": "blue",
43
+ "mdLinkUrl": "dim",
44
+ "mdCode": "cyan",
45
+ "mdCodeBlock": "ink",
46
+ "mdCodeBlockBorder": "silver",
47
+ "mdQuote": "muted",
48
+ "mdQuoteBorder": "silver",
49
+ "mdHr": "silver",
50
+ "mdListBullet": "blue",
51
+
52
+ "toolDiffAdded": "success",
53
+ "toolDiffRemoved": "error",
54
+ "toolDiffContext": "muted",
55
+
56
+ "syntaxComment": "dim",
57
+ "syntaxKeyword": "blue",
58
+ "syntaxFunction": "ink",
59
+ "syntaxVariable": "ink",
60
+ "syntaxString": "warning",
61
+ "syntaxNumber": "cyan",
62
+ "syntaxType": "success",
63
+ "syntaxOperator": "ink",
64
+ "syntaxPunctuation": "ink",
65
+
66
+ "thinkingOff": "#d9dee7",
67
+ "thinkingMinimal": "dim",
68
+ "thinkingLow": "silver",
69
+ "thinkingMedium": "cyan",
70
+ "thinkingHigh": "blue",
71
+ "thinkingXhigh": "#1b4f8f",
72
+
73
+ "bashMode": "blue",
74
+
75
+ "statusLineBg": "#f0f3f8",
76
+ "statusLineSep": "#c4cbd6",
77
+ "statusLineModel": "blue",
78
+ "statusLinePath": "cyan",
79
+ "statusLineGitClean": "success",
80
+ "statusLineGitDirty": "warning",
81
+ "statusLineContext": "muted",
82
+ "statusLineSpend": "blue",
83
+ "statusLineStaged": "success",
84
+ "statusLineDirty": "warning",
85
+ "statusLineUntracked": "cyan",
86
+ "statusLineOutput": "ink",
87
+ "statusLineCost": "blue",
88
+ "statusLineSubagents": "blue"
89
+ },
90
+ "export": {
91
+ "pageBg": "#ffffff",
92
+ "cardBg": "#fbfcff",
93
+ "infoBg": "#f1f4f9"
94
+ }
95
+ }
@@ -0,0 +1,100 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "limestone",
4
+ "vars": {
5
+ "amber": "#a07840",
6
+ "sage": "#708060",
7
+ "warmBrown": "#907050",
8
+ "clay": "#886030",
9
+ "sediment": "#d4cec0",
10
+ "darkEarth": "#302c24",
11
+ "mediumEarth": "#504838",
12
+ "mutedSage": "#909080",
13
+ "lightSediment": "#e8e4d8",
14
+ "selectedBg": "#ebe6d4",
15
+ "userMsgBg": "#f0ece0",
16
+ "toolPendingBg": "#ebe8dc",
17
+ "toolSuccessBg": "#e4e8dc",
18
+ "toolErrorBg": "#f0e4d8",
19
+ "customMsgBg": "#ede8dc"
20
+ },
21
+ "colors": {
22
+ "accent": "amber",
23
+ "border": "warmBrown",
24
+ "borderAccent": "amber",
25
+ "borderMuted": "sediment",
26
+ "success": "sage",
27
+ "error": "#a85840",
28
+ "warning": "clay",
29
+ "muted": "mediumEarth",
30
+ "dim": "mutedSage",
31
+ "text": "",
32
+ "thinkingText": "mediumEarth",
33
+
34
+ "selectedBg": "selectedBg",
35
+ "userMessageBg": "userMsgBg",
36
+ "userMessageText": "",
37
+ "customMessageBg": "customMsgBg",
38
+ "customMessageText": "",
39
+ "customMessageLabel": "#906838",
40
+ "toolPendingBg": "toolPendingBg",
41
+ "toolSuccessBg": "toolSuccessBg",
42
+ "toolErrorBg": "toolErrorBg",
43
+ "toolTitle": "",
44
+ "toolOutput": "mediumEarth",
45
+
46
+ "mdHeading": "clay",
47
+ "mdLink": "warmBrown",
48
+ "mdLinkUrl": "mutedSage",
49
+ "mdCode": "amber",
50
+ "mdCodeBlock": "sage",
51
+ "mdCodeBlockBorder": "mediumEarth",
52
+ "mdQuote": "mediumEarth",
53
+ "mdQuoteBorder": "sediment",
54
+ "mdHr": "sediment",
55
+ "mdListBullet": "sage",
56
+
57
+ "toolDiffAdded": "sage",
58
+ "toolDiffRemoved": "#a85840",
59
+ "toolDiffContext": "mediumEarth",
60
+
61
+ "syntaxComment": "#708060",
62
+ "syntaxKeyword": "#886030",
63
+ "syntaxFunction": "#907050",
64
+ "syntaxVariable": "#504838",
65
+ "syntaxString": "#a85840",
66
+ "syntaxNumber": "#708060",
67
+ "syntaxType": "#a07840",
68
+ "syntaxOperator": "#302c24",
69
+ "syntaxPunctuation": "#302c24",
70
+
71
+ "thinkingOff": "sediment",
72
+ "thinkingMinimal": "#b0a890",
73
+ "thinkingLow": "#907050",
74
+ "thinkingMedium": "#a07840",
75
+ "thinkingHigh": "#886030",
76
+ "thinkingXhigh": "#704020",
77
+
78
+ "bashMode": "sage",
79
+
80
+ "statusLineBg": "#e8e4d8",
81
+ "statusLineSep": "#a0988c",
82
+ "statusLineModel": "#886030",
83
+ "statusLinePath": "#907050",
84
+ "statusLineGitClean": "#607040",
85
+ "statusLineGitDirty": "#a87040",
86
+ "statusLineContext": "#806848",
87
+ "statusLineSpend": "#708060",
88
+ "statusLineStaged": 100,
89
+ "statusLineDirty": 136,
90
+ "statusLineUntracked": 94,
91
+ "statusLineOutput": 130,
92
+ "statusLineCost": 130,
93
+ "statusLineSubagents": "amber"
94
+ },
95
+ "export": {
96
+ "pageBg": "#f5f1e8",
97
+ "cardBg": "#fcfaf5",
98
+ "infoBg": "#f0ece0"
99
+ }
100
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "mahogany",
4
+ "vars": {
5
+ "brass": "#c4a050",
6
+ "burgundy": "#9d4451",
7
+ "forest": "#6a7c5d",
8
+ "cedar": "#b5826f",
9
+ "amber": "#d4a574",
10
+ "grain": "#3a302a",
11
+ "darkGrain": "#2a221d",
12
+ "woodBase": "#181210",
13
+ "cream": "#ece4d8",
14
+ "mutedCream": "#b8b0a6",
15
+ "dimCream": "#8a847c",
16
+ "selectedBg": "#2a221d",
17
+ "userMsgBg": "#1f1914",
18
+ "toolPendingBg": "#1c1813",
19
+ "toolSuccessBg": "#1a1d18",
20
+ "toolErrorBg": "#241816",
21
+ "customMsgBg": "#211d1f"
22
+ },
23
+ "colors": {
24
+ "accent": "brass",
25
+ "border": "grain",
26
+ "borderAccent": "brass",
27
+ "borderMuted": "darkGrain",
28
+ "success": "forest",
29
+ "error": "burgundy",
30
+ "warning": "amber",
31
+ "muted": "mutedCream",
32
+ "dim": "dimCream",
33
+ "text": "",
34
+ "thinkingText": "mutedCream",
35
+
36
+ "selectedBg": "selectedBg",
37
+ "userMessageBg": "userMsgBg",
38
+ "userMessageText": "",
39
+ "customMessageBg": "customMsgBg",
40
+ "customMessageText": "",
41
+ "customMessageLabel": "cedar",
42
+ "toolPendingBg": "toolPendingBg",
43
+ "toolSuccessBg": "toolSuccessBg",
44
+ "toolErrorBg": "toolErrorBg",
45
+ "toolTitle": "",
46
+ "toolOutput": "mutedCream",
47
+
48
+ "mdHeading": "brass",
49
+ "mdLink": "cedar",
50
+ "mdLinkUrl": "dimCream",
51
+ "mdCode": "#d9b89c",
52
+ "mdCodeBlock": "cream",
53
+ "mdCodeBlockBorder": "grain",
54
+ "mdQuote": "mutedCream",
55
+ "mdQuoteBorder": "darkGrain",
56
+ "mdHr": "grain",
57
+ "mdListBullet": "brass",
58
+
59
+ "toolDiffAdded": "forest",
60
+ "toolDiffRemoved": "burgundy",
61
+ "toolDiffContext": "mutedCream",
62
+
63
+ "link": "cedar",
64
+
65
+ "syntaxComment": "#7a6e63",
66
+ "syntaxKeyword": "burgundy",
67
+ "syntaxFunction": "brass",
68
+ "syntaxVariable": "cedar",
69
+ "syntaxString": "#a68968",
70
+ "syntaxNumber": "forest",
71
+ "syntaxType": "amber",
72
+ "syntaxOperator": "mutedCream",
73
+ "syntaxPunctuation": "mutedCream",
74
+
75
+ "thinkingOff": "darkGrain",
76
+ "thinkingMinimal": "dimCream",
77
+ "thinkingLow": "grain",
78
+ "thinkingMedium": "cedar",
79
+ "thinkingHigh": "brass",
80
+ "thinkingXhigh": "amber",
81
+
82
+ "bashMode": "brass",
83
+
84
+ "statusLineBg": "woodBase",
85
+ "statusLineSep": 237,
86
+ "statusLineModel": "cedar",
87
+ "statusLinePath": "brass",
88
+ "statusLineGitClean": "forest",
89
+ "statusLineGitDirty": "amber",
90
+ "statusLineContext": "#8a7566",
91
+ "statusLineSpend": "cedar",
92
+ "statusLineStaged": 101,
93
+ "statusLineDirty": 137,
94
+ "statusLineUntracked": 179,
95
+ "statusLineOutput": 138,
96
+ "statusLineCost": 138,
97
+ "statusLineSubagents": "brass"
98
+ },
99
+ "export": {
100
+ "pageBg": "#181210",
101
+ "cardBg": "#1f1914",
102
+ "infoBg": "#2a221d"
103
+ }
104
+ }
@@ -0,0 +1,99 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "marble",
4
+ "vars": {
5
+ "carraraWhite": "#f9f7f5",
6
+ "veinGray": "#5a6878",
7
+ "marbleVein": "#c4c0bc",
8
+ "carvedBlack": "#2a2826",
9
+ "deepNavy": "#2c3e50",
10
+ "burgundy": "#8b4049",
11
+ "forestGreen": "#4a6741",
12
+ "warmGray": "#7a766f",
13
+ "lightVein": "#e5e2de",
14
+ "selectedBg": "#ede9e6",
15
+ "userMsgBg": "#f2efec",
16
+ "toolPendingBg": "#e8ebf0",
17
+ "toolSuccessBg": "#e8f0eb",
18
+ "toolErrorBg": "#f0e8e8"
19
+ },
20
+ "colors": {
21
+ "accent": "veinGray",
22
+ "border": "marbleVein",
23
+ "borderAccent": "veinGray",
24
+ "borderMuted": "lightVein",
25
+ "success": "forestGreen",
26
+ "error": "burgundy",
27
+ "warning": "#8b6f47",
28
+ "muted": "warmGray",
29
+ "dim": "#9a968f",
30
+ "text": "",
31
+ "thinkingText": "warmGray",
32
+
33
+ "selectedBg": "selectedBg",
34
+ "userMessageBg": "userMsgBg",
35
+ "userMessageText": "",
36
+ "customMessageBg": "#e8e3df",
37
+ "customMessageText": "",
38
+ "customMessageLabel": "#6a5d7a",
39
+ "toolPendingBg": "toolPendingBg",
40
+ "toolSuccessBg": "toolSuccessBg",
41
+ "toolErrorBg": "toolErrorBg",
42
+ "toolTitle": "",
43
+ "toolOutput": "warmGray",
44
+
45
+ "mdHeading": "#8b6f47",
46
+ "mdLink": "deepNavy",
47
+ "mdLinkUrl": "warmGray",
48
+ "mdCode": "veinGray",
49
+ "mdCodeBlock": "forestGreen",
50
+ "mdCodeBlockBorder": "marbleVein",
51
+ "mdQuote": "warmGray",
52
+ "mdQuoteBorder": "marbleVein",
53
+ "mdHr": "marbleVein",
54
+ "mdListBullet": "forestGreen",
55
+
56
+ "toolDiffAdded": "forestGreen",
57
+ "toolDiffRemoved": "burgundy",
58
+ "toolDiffContext": "warmGray",
59
+
60
+ "syntaxComment": "#4a6741",
61
+ "syntaxKeyword": "#2c3e50",
62
+ "syntaxFunction": "#6a5d7a",
63
+ "syntaxVariable": "#5a6878",
64
+ "syntaxString": "#8b4049",
65
+ "syntaxNumber": "#4a6741",
66
+ "syntaxType": "#2c3e50",
67
+ "syntaxOperator": "#2a2826",
68
+ "syntaxPunctuation": "#7a766f",
69
+
70
+ "thinkingOff": "lightVein",
71
+ "thinkingMinimal": "#9a968f",
72
+ "thinkingLow": "#5a6878",
73
+ "thinkingMedium": "#6a5d7a",
74
+ "thinkingHigh": "#8b6f47",
75
+ "thinkingXhigh": "#8b4049",
76
+
77
+ "bashMode": "forestGreen",
78
+
79
+ "statusLineBg": "#ede9e6",
80
+ "statusLineSep": "#9a968f",
81
+ "statusLineModel": "#6a5d7a",
82
+ "statusLinePath": "#2c3e50",
83
+ "statusLineGitClean": "#4a6741",
84
+ "statusLineGitDirty": "#8b6f47",
85
+ "statusLineContext": "#5a6878",
86
+ "statusLineSpend": "#2c3e50",
87
+ "statusLineStaged": 28,
88
+ "statusLineDirty": 136,
89
+ "statusLineUntracked": 31,
90
+ "statusLineOutput": 133,
91
+ "statusLineCost": 133,
92
+ "statusLineSubagents": "veinGray"
93
+ },
94
+ "export": {
95
+ "pageBg": "#f9f7f5",
96
+ "cardBg": "#ffffff",
97
+ "infoBg": "#f2efec"
98
+ }
99
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "obsidian",
4
+ "vars": {
5
+ "black": "#0c0b0a",
6
+ "glass": "#1a1816",
7
+ "smoke": "#2b2825",
8
+ "violet": "#9d7aff",
9
+ "prism": "#b599ff",
10
+ "silver": "#e8e8ec",
11
+ "pearl": "#f5f5f7",
12
+ "crimson": "#ff5570",
13
+ "ember": "#ff8c42",
14
+ "jade": "#52e8a0",
15
+ "cyan": "#5cd9ff",
16
+ "gold": "#ffc942"
17
+ },
18
+ "colors": {
19
+ "accent": "violet",
20
+ "border": "glass",
21
+ "borderAccent": "violet",
22
+ "borderMuted": "glass",
23
+ "success": "jade",
24
+ "error": "crimson",
25
+ "warning": "gold",
26
+ "muted": "smoke",
27
+ "dim": "#4a4642",
28
+ "text": "",
29
+ "thinkingText": "silver",
30
+ "selectedBg": "glass",
31
+ "userMessageBg": "glass",
32
+ "userMessageText": "",
33
+ "customMessageBg": "smoke",
34
+ "customMessageText": "",
35
+ "customMessageLabel": "violet",
36
+ "toolPendingBg": "glass",
37
+ "toolSuccessBg": "glass",
38
+ "toolErrorBg": "glass",
39
+ "toolTitle": "",
40
+ "toolOutput": "silver",
41
+ "mdHeading": "prism",
42
+ "mdLink": "cyan",
43
+ "mdLinkUrl": "#7ab8cc",
44
+ "mdCode": "violet",
45
+ "mdCodeBlock": "silver",
46
+ "mdCodeBlockBorder": "smoke",
47
+ "mdQuote": "#9e9a95",
48
+ "mdQuoteBorder": "smoke",
49
+ "mdHr": "smoke",
50
+ "mdListBullet": "violet",
51
+ "toolDiffAdded": "jade",
52
+ "toolDiffRemoved": "crimson",
53
+ "toolDiffContext": "#6e6960",
54
+ "syntaxComment": "#6e6960",
55
+ "syntaxKeyword": "violet",
56
+ "syntaxFunction": "cyan",
57
+ "syntaxVariable": "silver",
58
+ "syntaxString": "jade",
59
+ "syntaxNumber": "gold",
60
+ "syntaxType": "prism",
61
+ "syntaxOperator": "#b8b4af",
62
+ "syntaxPunctuation": "#8a857f",
63
+ "thinkingOff": "#6e6960",
64
+ "thinkingMinimal": "#7a7570",
65
+ "thinkingLow": "#8a857f",
66
+ "thinkingMedium": "#9e9a95",
67
+ "thinkingHigh": "#b8b4af",
68
+ "thinkingXhigh": "silver",
69
+ "bashMode": "violet",
70
+ "statusLineBg": "glass",
71
+ "statusLineSep": "smoke",
72
+ "statusLineModel": "violet",
73
+ "statusLinePath": "cyan",
74
+ "statusLineGitClean": "jade",
75
+ "statusLineGitDirty": "ember",
76
+ "statusLineContext": "#9e9a95",
77
+ "statusLineSpend": "gold",
78
+ "statusLineStaged": "jade",
79
+ "statusLineDirty": "ember",
80
+ "statusLineUntracked": "#9e9a95",
81
+ "statusLineOutput": "cyan",
82
+ "statusLineCost": "gold",
83
+ "statusLineSubagents": "violet"
84
+ },
85
+ "export": {
86
+ "pageBg": "black",
87
+ "cardBg": "glass",
88
+ "infoBg": "smoke"
89
+ }
90
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "onyx",
4
+ "vars": {
5
+ "stone": "#0f0f14",
6
+ "band1": "#1a1a22",
7
+ "band2": "#25252f",
8
+ "band3": "#32323e",
9
+ "vein": "#d4a853",
10
+ "veinDim": "#9d7f3e",
11
+ "bronze": "#cd7f32",
12
+ "copper": "#b87333",
13
+ "cream": "#f0ebe4",
14
+ "warmGray": "#b8b3aa",
15
+ "ruby": "#d16969",
16
+ "emerald": "#6fb37f"
17
+ },
18
+ "colors": {
19
+ "accent": "$vein",
20
+ "border": "$band2",
21
+ "borderAccent": "$vein",
22
+ "borderMuted": "$band1",
23
+ "success": "$emerald",
24
+ "error": "$ruby",
25
+ "warning": "$bronze",
26
+ "muted": "$warmGray",
27
+ "dim": "#6a6760",
28
+ "text": "",
29
+ "thinkingText": "$warmGray",
30
+ "selectedBg": "$band2",
31
+ "userMessageBg": "$band1",
32
+ "userMessageText": "",
33
+ "customMessageBg": "$band2",
34
+ "customMessageText": "",
35
+ "customMessageLabel": "$vein",
36
+ "toolPendingBg": "$band1",
37
+ "toolSuccessBg": "$band1",
38
+ "toolErrorBg": "$band1",
39
+ "toolTitle": "",
40
+ "toolOutput": "$warmGray",
41
+ "mdHeading": "$vein",
42
+ "mdLink": "$bronze",
43
+ "mdLinkUrl": "$copper",
44
+ "mdCode": "$vein",
45
+ "mdCodeBlock": "$cream",
46
+ "mdCodeBlockBorder": "$band3",
47
+ "mdQuote": "$warmGray",
48
+ "mdQuoteBorder": "$veinDim",
49
+ "mdHr": "$band2",
50
+ "mdListBullet": "$vein",
51
+ "toolDiffAdded": "$emerald",
52
+ "toolDiffRemoved": "$ruby",
53
+ "toolDiffContext": "$warmGray",
54
+ "syntaxComment": "#6a6760",
55
+ "syntaxKeyword": "$vein",
56
+ "syntaxFunction": "$bronze",
57
+ "syntaxVariable": "$cream",
58
+ "syntaxString": "$copper",
59
+ "syntaxNumber": "$veinDim",
60
+ "syntaxType": "$vein",
61
+ "syntaxOperator": "$warmGray",
62
+ "syntaxPunctuation": "$warmGray",
63
+ "thinkingOff": "$warmGray",
64
+ "thinkingMinimal": "$warmGray",
65
+ "thinkingLow": "$warmGray",
66
+ "thinkingMedium": "$veinDim",
67
+ "thinkingHigh": "$vein",
68
+ "thinkingXhigh": "$bronze",
69
+ "bashMode": "$vein",
70
+ "statusLineBg": "$band1",
71
+ "statusLineSep": "$band3",
72
+ "statusLineModel": "$vein",
73
+ "statusLinePath": "$cream",
74
+ "statusLineGitClean": "$emerald",
75
+ "statusLineGitDirty": "$bronze",
76
+ "statusLineContext": "$warmGray",
77
+ "statusLineSpend": "$copper",
78
+ "statusLineStaged": "$emerald",
79
+ "statusLineDirty": "$bronze",
80
+ "statusLineUntracked": "$warmGray",
81
+ "statusLineOutput": "$cream",
82
+ "statusLineCost": "$copper",
83
+ "statusLineSubagents": "$vein"
84
+ },
85
+ "export": {
86
+ "pageBg": "$stone",
87
+ "cardBg": "$band1",
88
+ "infoBg": "$band2"
89
+ }
90
+ }
@@ -0,0 +1,99 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "pearl",
4
+ "vars": {
5
+ "nacrePink": "#b08090",
6
+ "oysterBlue": "#7080a0",
7
+ "shellLayer": "#dcd8e0",
8
+ "deepOyster": "#28242c",
9
+ "softPink": "#c89ca8",
10
+ "mistBlue": "#90a0b8",
11
+ "pearlGray": "#605860",
12
+ "lightShell": "#e8e4ec",
13
+ "selectedBg": "#ece8f0",
14
+ "userMsgBg": "#f0ecf4",
15
+ "toolPendingBg": "#f4f0f8",
16
+ "toolSuccessBg": "#f0f4f2",
17
+ "toolErrorBg": "#f8f0f0",
18
+ "customMsgBg": "#f8f4fc"
19
+ },
20
+ "colors": {
21
+ "accent": "nacrePink",
22
+ "border": "oysterBlue",
23
+ "borderAccent": "nacrePink",
24
+ "borderMuted": "shellLayer",
25
+ "success": "#709070",
26
+ "error": "#a06060",
27
+ "warning": "#b09060",
28
+ "muted": "pearlGray",
29
+ "dim": "#807880",
30
+ "text": "",
31
+ "thinkingText": "pearlGray",
32
+
33
+ "selectedBg": "selectedBg",
34
+ "userMessageBg": "userMsgBg",
35
+ "userMessageText": "",
36
+ "customMessageBg": "customMsgBg",
37
+ "customMessageText": "",
38
+ "customMessageLabel": "#9070a0",
39
+ "toolPendingBg": "toolPendingBg",
40
+ "toolSuccessBg": "toolSuccessBg",
41
+ "toolErrorBg": "toolErrorBg",
42
+ "toolTitle": "",
43
+ "toolOutput": "pearlGray",
44
+
45
+ "mdHeading": "#a08060",
46
+ "mdLink": "oysterBlue",
47
+ "mdLinkUrl": "#807880",
48
+ "mdCode": "nacrePink",
49
+ "mdCodeBlock": "#708070",
50
+ "mdCodeBlockBorder": "pearlGray",
51
+ "mdQuote": "pearlGray",
52
+ "mdQuoteBorder": "pearlGray",
53
+ "mdHr": "pearlGray",
54
+ "mdListBullet": "#709070",
55
+
56
+ "toolDiffAdded": "#709070",
57
+ "toolDiffRemoved": "#a06060",
58
+ "toolDiffContext": "pearlGray",
59
+
60
+ "syntaxComment": "#608060",
61
+ "syntaxKeyword": "#6070a0",
62
+ "syntaxFunction": "#805070",
63
+ "syntaxVariable": "#504070",
64
+ "syntaxString": "#a05070",
65
+ "syntaxNumber": "#508080",
66
+ "syntaxType": "#507090",
67
+ "syntaxOperator": "#404040",
68
+ "syntaxPunctuation": "#404040",
69
+
70
+ "thinkingOff": "shellLayer",
71
+ "thinkingMinimal": "#a09ca8",
72
+ "thinkingLow": "#7080a0",
73
+ "thinkingMedium": "#9070a0",
74
+ "thinkingHigh": "#a06090",
75
+ "thinkingXhigh": "#b05090",
76
+
77
+ "bashMode": "#709070",
78
+
79
+ "statusLineBg": "#ece8f0",
80
+ "statusLineSep": "#908898",
81
+ "statusLineModel": "#9070a0",
82
+ "statusLinePath": "#506080",
83
+ "statusLineGitClean": "#507050",
84
+ "statusLineGitDirty": "#a08050",
85
+ "statusLineContext": "#707090",
86
+ "statusLineSpend": "#507070",
87
+ "statusLineStaged": 65,
88
+ "statusLineDirty": 137,
89
+ "statusLineUntracked": 67,
90
+ "statusLineOutput": 133,
91
+ "statusLineCost": 133,
92
+ "statusLineSubagents": "nacrePink"
93
+ },
94
+ "export": {
95
+ "pageBg": "#f9f9fc",
96
+ "cardBg": "#ffffff",
97
+ "infoBg": "#f8f4fc"
98
+ }
99
+ }