@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,97 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "light-orchard",
4
+ "vars": {
5
+ "orchardBg": "#F7F2E8",
6
+ "orchardSurface": "#FFF9F0",
7
+ "orchardElevated": "#F2E8D9",
8
+ "orchardBorder": "#E2D5C2",
9
+ "blossomPink": "#D97A9B",
10
+ "leafGreen": "#6FA84B",
11
+ "barkBrown": "#8B6A4A",
12
+ "honeyGold": "#C98A3A",
13
+ "plumPurple": "#7A5BA6",
14
+ "mutedText": "#6D5F4C",
15
+ "dimText": "#9B8A78",
16
+ "errorRed": "#B9473D"
17
+ },
18
+ "colors": {
19
+ "accent": "blossomPink",
20
+ "border": "orchardBorder",
21
+ "borderAccent": "plumPurple",
22
+ "borderMuted": "orchardElevated",
23
+ "success": "leafGreen",
24
+ "error": "errorRed",
25
+ "warning": "honeyGold",
26
+ "muted": "mutedText",
27
+ "dim": "dimText",
28
+ "text": "",
29
+ "thinkingText": "mutedText",
30
+
31
+ "selectedBg": "orchardElevated",
32
+ "userMessageBg": "orchardSurface",
33
+ "userMessageText": "",
34
+ "customMessageBg": "#F0E4D4",
35
+ "customMessageText": "",
36
+ "customMessageLabel": "blossomPink",
37
+ "toolPendingBg": "orchardBg",
38
+ "toolSuccessBg": "#E6F0DE",
39
+ "toolErrorBg": "#F3E1DA",
40
+ "toolTitle": "",
41
+ "toolOutput": "mutedText",
42
+
43
+ "mdHeading": "blossomPink",
44
+ "mdLink": "plumPurple",
45
+ "mdLinkUrl": "dimText",
46
+ "mdCode": "leafGreen",
47
+ "mdCodeBlock": "plumPurple",
48
+ "mdCodeBlockBorder": "orchardBorder",
49
+ "mdQuote": "mutedText",
50
+ "mdQuoteBorder": "orchardBorder",
51
+ "mdHr": "orchardBorder",
52
+ "mdListBullet": "leafGreen",
53
+
54
+ "toolDiffAdded": "leafGreen",
55
+ "toolDiffRemoved": "errorRed",
56
+ "toolDiffContext": "mutedText",
57
+
58
+ "syntaxComment": "dimText",
59
+ "syntaxKeyword": "plumPurple",
60
+ "syntaxFunction": "blossomPink",
61
+ "syntaxVariable": "mutedText",
62
+ "syntaxString": "leafGreen",
63
+ "syntaxNumber": "honeyGold",
64
+ "syntaxType": "plumPurple",
65
+ "syntaxOperator": "mutedText",
66
+ "syntaxPunctuation": "mutedText",
67
+
68
+ "thinkingOff": "orchardBorder",
69
+ "thinkingMinimal": "dimText",
70
+ "thinkingLow": "plumPurple",
71
+ "thinkingMedium": "blossomPink",
72
+ "thinkingHigh": "leafGreen",
73
+ "thinkingXhigh": "honeyGold",
74
+
75
+ "bashMode": "leafGreen",
76
+
77
+ "statusLineBg": "#F1EBE1",
78
+ "statusLineSep": "orchardBorder",
79
+ "statusLineModel": "blossomPink",
80
+ "statusLinePath": "plumPurple",
81
+ "statusLineGitClean": "leafGreen",
82
+ "statusLineGitDirty": "honeyGold",
83
+ "statusLineContext": "mutedText",
84
+ "statusLineSpend": "blossomPink",
85
+ "statusLineStaged": "leafGreen",
86
+ "statusLineDirty": "honeyGold",
87
+ "statusLineUntracked": "plumPurple",
88
+ "statusLineOutput": "blossomPink",
89
+ "statusLineCost": "honeyGold",
90
+ "statusLineSubagents": "blossomPink"
91
+ },
92
+ "export": {
93
+ "pageBg": "#F7F2E8",
94
+ "cardBg": "#FFF9F0",
95
+ "infoBg": "#F2E8D9"
96
+ }
97
+ }
@@ -0,0 +1,94 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "light-paper",
4
+ "vars": {
5
+ "cyan": "#3e999f",
6
+ "blue": "#4271ae",
7
+ "green": "#718c00",
8
+ "red": "#c82829",
9
+ "yellow": "#eab700",
10
+ "gray": "#4d4d4c",
11
+ "dimGray": "#8e908c",
12
+ "darkGray": "#d6d6d6",
13
+ "accent": "#d19a66",
14
+ "selectedBg": "#efe6d5",
15
+ "userMsgBg": "#f6f0e4",
16
+ "toolPendingBg": "#f2ecdf",
17
+ "toolSuccessBg": "#e8f0e0",
18
+ "toolErrorBg": "#f0e0e0",
19
+ "customMsgBg": "#eee8d5"
20
+ },
21
+ "colors": {
22
+ "accent": "accent",
23
+ "border": "blue",
24
+ "borderAccent": "accent",
25
+ "borderMuted": "darkGray",
26
+ "success": "green",
27
+ "error": "red",
28
+ "warning": "yellow",
29
+ "muted": "gray",
30
+ "dim": "dimGray",
31
+ "text": "",
32
+ "thinkingText": "gray",
33
+ "selectedBg": "selectedBg",
34
+ "userMessageBg": "userMsgBg",
35
+ "userMessageText": "",
36
+ "customMessageBg": "customMsgBg",
37
+ "customMessageText": "",
38
+ "customMessageLabel": "accent",
39
+ "toolPendingBg": "toolPendingBg",
40
+ "toolSuccessBg": "toolSuccessBg",
41
+ "toolErrorBg": "toolErrorBg",
42
+ "toolTitle": "",
43
+ "toolOutput": "gray",
44
+ "mdHeading": "#d19a66",
45
+ "mdLink": "#4271ae",
46
+ "mdLinkUrl": "dimGray",
47
+ "mdCode": "#4271ae",
48
+ "mdCodeBlock": "#718c00",
49
+ "mdCodeBlockBorder": "darkGray",
50
+ "mdQuote": "gray",
51
+ "mdQuoteBorder": "darkGray",
52
+ "mdHr": "darkGray",
53
+ "mdListBullet": "accent",
54
+ "toolDiffAdded": "green",
55
+ "toolDiffRemoved": "red",
56
+ "toolDiffContext": "gray",
57
+ "link": "#4271ae",
58
+ "syntaxComment": "#4d4d4c",
59
+ "syntaxKeyword": "#4271ae",
60
+ "syntaxFunction": "#eab700",
61
+ "syntaxVariable": "#3e999f",
62
+ "syntaxString": "#c82829",
63
+ "syntaxNumber": "#718c00",
64
+ "syntaxType": "#d19a66",
65
+ "syntaxOperator": "#8e908c",
66
+ "syntaxPunctuation": "#8e908c",
67
+ "thinkingOff": "darkGray",
68
+ "thinkingMinimal": "dimGray",
69
+ "thinkingLow": "blue",
70
+ "thinkingMedium": "cyan",
71
+ "thinkingHigh": "accent",
72
+ "thinkingXhigh": "red",
73
+ "bashMode": "accent",
74
+ "statusLineBg": "#efe6d5",
75
+ "statusLineSep": "#8e908c",
76
+ "statusLineModel": "accent",
77
+ "statusLinePath": "blue",
78
+ "statusLineGitClean": "green",
79
+ "statusLineGitDirty": "yellow",
80
+ "statusLineContext": "gray",
81
+ "statusLineSpend": "cyan",
82
+ "statusLineStaged": 28,
83
+ "statusLineDirty": 178,
84
+ "statusLineUntracked": 39,
85
+ "statusLineOutput": 205,
86
+ "statusLineCost": 205,
87
+ "statusLineSubagents": "accent"
88
+ },
89
+ "export": {
90
+ "pageBg": "#f6f0e4",
91
+ "cardBg": "#f2ecdf",
92
+ "infoBg": "#e8f0e0"
93
+ }
94
+ }
@@ -0,0 +1,96 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "light-prism",
4
+ "vars": {
5
+ "white": "#ffffff",
6
+ "slate": "#4a4f57",
7
+ "dim": "#6b7280",
8
+ "violet": "#7c4dff",
9
+ "indigo": "#4f46e5",
10
+ "blue": "#3b82f6",
11
+ "cyan": "#06b6d4",
12
+ "green": "#22c55e",
13
+ "yellow": "#eab308",
14
+ "orange": "#f97316",
15
+ "red": "#ef4444"
16
+ },
17
+ "colors": {
18
+ "accent": "violet",
19
+ "border": "#e5e7eb",
20
+ "borderAccent": "blue",
21
+ "borderMuted": "#f1f3f5",
22
+ "success": "green",
23
+ "error": "red",
24
+ "warning": "orange",
25
+ "muted": "slate",
26
+ "dim": "dim",
27
+ "text": "",
28
+ "thinkingText": "muted",
29
+
30
+ "selectedBg": "#f2f5fb",
31
+ "userMessageBg": "#ffffff",
32
+ "userMessageText": "",
33
+ "customMessageBg": "#f3f2ff",
34
+ "customMessageText": "",
35
+ "customMessageLabel": "violet",
36
+ "toolPendingBg": "#f5f6fa",
37
+ "toolSuccessBg": "#effaf2",
38
+ "toolErrorBg": "#fceeee",
39
+ "toolTitle": "",
40
+ "toolOutput": "muted",
41
+
42
+ "mdHeading": "indigo",
43
+ "mdLink": "blue",
44
+ "mdLinkUrl": "dim",
45
+ "mdCode": "violet",
46
+ "mdCodeBlock": "slate",
47
+ "mdCodeBlockBorder": "#e1e4ea",
48
+ "mdQuote": "muted",
49
+ "mdQuoteBorder": "#e1e4ea",
50
+ "mdHr": "#e1e4ea",
51
+ "mdListBullet": "cyan",
52
+
53
+ "toolDiffAdded": "green",
54
+ "toolDiffRemoved": "red",
55
+ "toolDiffContext": "muted",
56
+
57
+ "syntaxComment": "dim",
58
+ "syntaxKeyword": "indigo",
59
+ "syntaxFunction": "blue",
60
+ "syntaxVariable": "violet",
61
+ "syntaxString": "green",
62
+ "syntaxNumber": "orange",
63
+ "syntaxType": "cyan",
64
+ "syntaxOperator": "slate",
65
+ "syntaxPunctuation": "slate",
66
+
67
+ "thinkingOff": "#e5e7ec",
68
+ "thinkingMinimal": "dim",
69
+ "thinkingLow": "blue",
70
+ "thinkingMedium": "cyan",
71
+ "thinkingHigh": "violet",
72
+ "thinkingXhigh": "indigo",
73
+
74
+ "bashMode": "blue",
75
+
76
+ "statusLineBg": "#f4f6fb",
77
+ "statusLineSep": "#cfd5df",
78
+ "statusLineModel": "violet",
79
+ "statusLinePath": "blue",
80
+ "statusLineGitClean": "green",
81
+ "statusLineGitDirty": "orange",
82
+ "statusLineContext": "muted",
83
+ "statusLineSpend": "cyan",
84
+ "statusLineStaged": "green",
85
+ "statusLineDirty": "orange",
86
+ "statusLineUntracked": "blue",
87
+ "statusLineOutput": "slate",
88
+ "statusLineCost": "yellow",
89
+ "statusLineSubagents": "violet"
90
+ },
91
+ "export": {
92
+ "pageBg": "#ffffff",
93
+ "cardBg": "#fbfbff",
94
+ "infoBg": "#f4f6fb"
95
+ }
96
+ }
@@ -0,0 +1,94 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "light-sand",
4
+ "vars": {
5
+ "cyan": "#00838f",
6
+ "blue": "#1565c0",
7
+ "green": "#2e7d32",
8
+ "red": "#c62828",
9
+ "yellow": "#f9a825",
10
+ "gray": "#5d4037",
11
+ "dimGray": "#8d6e63",
12
+ "darkGray": "#d7ccc8",
13
+ "accent": "#a1887f",
14
+ "selectedBg": "#f5f5f5",
15
+ "userMsgBg": "#fffaf0",
16
+ "toolPendingBg": "#fbf7f0",
17
+ "toolSuccessBg": "#f1f8e9",
18
+ "toolErrorBg": "#fbe9e7",
19
+ "customMsgBg": "#f7f2eb"
20
+ },
21
+ "colors": {
22
+ "accent": "accent",
23
+ "border": "blue",
24
+ "borderAccent": "accent",
25
+ "borderMuted": "darkGray",
26
+ "success": "green",
27
+ "error": "red",
28
+ "warning": "yellow",
29
+ "muted": "gray",
30
+ "dim": "dimGray",
31
+ "text": "",
32
+ "thinkingText": "gray",
33
+ "selectedBg": "selectedBg",
34
+ "userMessageBg": "userMsgBg",
35
+ "userMessageText": "",
36
+ "customMessageBg": "customMsgBg",
37
+ "customMessageText": "",
38
+ "customMessageLabel": "accent",
39
+ "toolPendingBg": "toolPendingBg",
40
+ "toolSuccessBg": "toolSuccessBg",
41
+ "toolErrorBg": "toolErrorBg",
42
+ "toolTitle": "",
43
+ "toolOutput": "gray",
44
+ "mdHeading": "#a1887f",
45
+ "mdLink": "#1565c0",
46
+ "mdLinkUrl": "dimGray",
47
+ "mdCode": "#8d6e63",
48
+ "mdCodeBlock": "#5d4037",
49
+ "mdCodeBlockBorder": "darkGray",
50
+ "mdQuote": "gray",
51
+ "mdQuoteBorder": "darkGray",
52
+ "mdHr": "darkGray",
53
+ "mdListBullet": "accent",
54
+ "toolDiffAdded": "green",
55
+ "toolDiffRemoved": "red",
56
+ "toolDiffContext": "gray",
57
+ "link": "#1565c0",
58
+ "syntaxComment": "#5d4037",
59
+ "syntaxKeyword": "#1565c0",
60
+ "syntaxFunction": "#f9a825",
61
+ "syntaxVariable": "#00838f",
62
+ "syntaxString": "#c62828",
63
+ "syntaxNumber": "#2e7d32",
64
+ "syntaxType": "#a1887f",
65
+ "syntaxOperator": "#8d6e63",
66
+ "syntaxPunctuation": "#8d6e63",
67
+ "thinkingOff": "darkGray",
68
+ "thinkingMinimal": "dimGray",
69
+ "thinkingLow": "blue",
70
+ "thinkingMedium": "cyan",
71
+ "thinkingHigh": "accent",
72
+ "thinkingXhigh": "red",
73
+ "bashMode": "accent",
74
+ "statusLineBg": "#f5f5f5",
75
+ "statusLineSep": "#8d6e63",
76
+ "statusLineModel": "accent",
77
+ "statusLinePath": "blue",
78
+ "statusLineGitClean": "green",
79
+ "statusLineGitDirty": "yellow",
80
+ "statusLineContext": "gray",
81
+ "statusLineSpend": "cyan",
82
+ "statusLineStaged": 28,
83
+ "statusLineDirty": 178,
84
+ "statusLineUntracked": 39,
85
+ "statusLineOutput": 205,
86
+ "statusLineCost": 205,
87
+ "statusLineSubagents": "accent"
88
+ },
89
+ "export": {
90
+ "pageBg": "#fffaf0",
91
+ "cardBg": "#fbf7f0",
92
+ "infoBg": "#f1f8e9"
93
+ }
94
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "light-savanna",
4
+ "vars": {
5
+ "savannaBg": "#F8F1E6",
6
+ "savannaPanel": "#F1E6D2",
7
+ "savannaSurface": "#FFF7EC",
8
+ "savannaBorder": "#D9C9AD",
9
+ "strawYellow": "#E6CF8A",
10
+ "sunsetOrange": "#C98A3A",
11
+ "acaciaGreen": "#6E8B3D",
12
+ "warningOrange": "#D08A2C",
13
+ "errorRed": "#C45A4F",
14
+ "riverBlue": "#4C7F8A",
15
+ "mutedText": "#6E5C47",
16
+ "dimText": "#9A8772"
17
+ },
18
+ "colors": {
19
+ "accent": "sunsetOrange",
20
+ "border": "savannaBorder",
21
+ "borderAccent": "strawYellow",
22
+ "borderMuted": "savannaPanel",
23
+ "success": "acaciaGreen",
24
+ "error": "errorRed",
25
+ "warning": "warningOrange",
26
+ "muted": "mutedText",
27
+ "dim": "dimText",
28
+ "text": "",
29
+ "thinkingText": "mutedText",
30
+
31
+ "selectedBg": "savannaPanel",
32
+ "userMessageBg": "savannaSurface",
33
+ "userMessageText": "",
34
+ "customMessageBg": "#F3E8D7",
35
+ "customMessageText": "",
36
+ "customMessageLabel": "sunsetOrange",
37
+ "toolPendingBg": "savannaBg",
38
+ "toolSuccessBg": "#E8F1D9",
39
+ "toolErrorBg": "#F4E0DA",
40
+ "toolTitle": "",
41
+ "toolOutput": "mutedText",
42
+
43
+ "mdHeading": "sunsetOrange",
44
+ "mdLink": "riverBlue",
45
+ "mdLinkUrl": "dimText",
46
+ "mdCode": "acaciaGreen",
47
+ "mdCodeBlock": "riverBlue",
48
+ "mdCodeBlockBorder": "savannaBorder",
49
+ "mdQuote": "mutedText",
50
+ "mdQuoteBorder": "savannaBorder",
51
+ "mdHr": "savannaBorder",
52
+ "mdListBullet": "acaciaGreen",
53
+
54
+ "toolDiffAdded": "acaciaGreen",
55
+ "toolDiffRemoved": "errorRed",
56
+ "toolDiffContext": "mutedText",
57
+
58
+ "syntaxComment": "dimText",
59
+ "syntaxKeyword": "sunsetOrange",
60
+ "syntaxFunction": "riverBlue",
61
+ "syntaxVariable": "mutedText",
62
+ "syntaxString": "acaciaGreen",
63
+ "syntaxNumber": "warningOrange",
64
+ "syntaxType": "riverBlue",
65
+ "syntaxOperator": "mutedText",
66
+ "syntaxPunctuation": "mutedText",
67
+
68
+ "thinkingOff": "savannaBorder",
69
+ "thinkingMinimal": "dimText",
70
+ "thinkingLow": "strawYellow",
71
+ "thinkingMedium": "sunsetOrange",
72
+ "thinkingHigh": "riverBlue",
73
+ "thinkingXhigh": "acaciaGreen",
74
+
75
+ "bashMode": "acaciaGreen",
76
+
77
+ "statusLineBg": "#F3EBDD",
78
+ "statusLineSep": "savannaBorder",
79
+ "statusLineModel": "sunsetOrange",
80
+ "statusLinePath": "riverBlue",
81
+ "statusLineGitClean": "acaciaGreen",
82
+ "statusLineGitDirty": "warningOrange",
83
+ "statusLineContext": "mutedText",
84
+ "statusLineSpend": "sunsetOrange",
85
+ "statusLineStaged": "acaciaGreen",
86
+ "statusLineDirty": "warningOrange",
87
+ "statusLineUntracked": "riverBlue",
88
+ "statusLineOutput": "sunsetOrange",
89
+ "statusLineCost": "warningOrange",
90
+ "statusLineSubagents": "sunsetOrange"
91
+ },
92
+ "export": {
93
+ "pageBg": "#F8F1E6",
94
+ "cardBg": "#FFF7EC",
95
+ "infoBg": "#F1E6D2"
96
+ }
97
+ }
@@ -0,0 +1,96 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "light-soleil",
4
+ "vars": {
5
+ "sand": "#f7f2e7",
6
+ "terracotta": "#c96a45",
7
+ "olive": "#7a8a55",
8
+ "sea": "#2f7b9c",
9
+ "sun": "#e2b058",
10
+ "ink": "#3a352f",
11
+ "muted": "#5f5a54",
12
+ "dim": "#7a746d",
13
+ "success": "#4f9b6c",
14
+ "error": "#c94b4b",
15
+ "warning": "#d18a3a"
16
+ },
17
+ "colors": {
18
+ "accent": "terracotta",
19
+ "border": "#d7cfc1",
20
+ "borderAccent": "sea",
21
+ "borderMuted": "#e6dfd4",
22
+ "success": "success",
23
+ "error": "error",
24
+ "warning": "warning",
25
+ "muted": "muted",
26
+ "dim": "dim",
27
+ "text": "",
28
+ "thinkingText": "muted",
29
+
30
+ "selectedBg": "#efe6d6",
31
+ "userMessageBg": "#fffaf3",
32
+ "userMessageText": "",
33
+ "customMessageBg": "#f4ebdd",
34
+ "customMessageText": "",
35
+ "customMessageLabel": "olive",
36
+ "toolPendingBg": "#f2eee6",
37
+ "toolSuccessBg": "#eef6ef",
38
+ "toolErrorBg": "#f8ece8",
39
+ "toolTitle": "",
40
+ "toolOutput": "muted",
41
+
42
+ "mdHeading": "terracotta",
43
+ "mdLink": "sea",
44
+ "mdLinkUrl": "dim",
45
+ "mdCode": "#8b4b2c",
46
+ "mdCodeBlock": "ink",
47
+ "mdCodeBlockBorder": "#d7cfc1",
48
+ "mdQuote": "muted",
49
+ "mdQuoteBorder": "#d7cfc1",
50
+ "mdHr": "#d7cfc1",
51
+ "mdListBullet": "sun",
52
+
53
+ "toolDiffAdded": "success",
54
+ "toolDiffRemoved": "error",
55
+ "toolDiffContext": "muted",
56
+
57
+ "syntaxComment": "dim",
58
+ "syntaxKeyword": "sea",
59
+ "syntaxFunction": "terracotta",
60
+ "syntaxVariable": "ink",
61
+ "syntaxString": "warning",
62
+ "syntaxNumber": "sun",
63
+ "syntaxType": "olive",
64
+ "syntaxOperator": "ink",
65
+ "syntaxPunctuation": "ink",
66
+
67
+ "thinkingOff": "#e2dbcf",
68
+ "thinkingMinimal": "dim",
69
+ "thinkingLow": "olive",
70
+ "thinkingMedium": "sea",
71
+ "thinkingHigh": "terracotta",
72
+ "thinkingXhigh": "sun",
73
+
74
+ "bashMode": "sea",
75
+
76
+ "statusLineBg": "#f1ebe0",
77
+ "statusLineSep": "#cdbfae",
78
+ "statusLineModel": "terracotta",
79
+ "statusLinePath": "sea",
80
+ "statusLineGitClean": "success",
81
+ "statusLineGitDirty": "warning",
82
+ "statusLineContext": "muted",
83
+ "statusLineSpend": "sun",
84
+ "statusLineStaged": "success",
85
+ "statusLineDirty": "warning",
86
+ "statusLineUntracked": "sea",
87
+ "statusLineOutput": "ink",
88
+ "statusLineCost": "sun",
89
+ "statusLineSubagents": "terracotta"
90
+ },
91
+ "export": {
92
+ "pageBg": "#fbf7ef",
93
+ "cardBg": "#ffffff",
94
+ "infoBg": "#f2e8d9"
95
+ }
96
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "light-wetland",
4
+ "vars": {
5
+ "wetlandBg": "#F1F5F3",
6
+ "wetlandSurface": "#F8FBF9",
7
+ "wetlandElevated": "#E6EEEA",
8
+ "wetlandBorder": "#D7E1DC",
9
+ "heronBlue": "#4B7AA8",
10
+ "reedTan": "#CBB792",
11
+ "cattailBrown": "#8A6A45",
12
+ "marshGreen": "#4F9B6A",
13
+ "warningGold": "#C5A046",
14
+ "errorRed": "#C6564A",
15
+ "mutedText": "#5B6E66",
16
+ "dimText": "#7A8F86"
17
+ },
18
+ "colors": {
19
+ "accent": "heronBlue",
20
+ "border": "wetlandBorder",
21
+ "borderAccent": "reedTan",
22
+ "borderMuted": "wetlandElevated",
23
+ "success": "marshGreen",
24
+ "error": "errorRed",
25
+ "warning": "warningGold",
26
+ "muted": "mutedText",
27
+ "dim": "dimText",
28
+ "text": "",
29
+ "thinkingText": "mutedText",
30
+
31
+ "selectedBg": "wetlandElevated",
32
+ "userMessageBg": "wetlandSurface",
33
+ "userMessageText": "",
34
+ "customMessageBg": "#E8F0EC",
35
+ "customMessageText": "",
36
+ "customMessageLabel": "heronBlue",
37
+ "toolPendingBg": "wetlandBg",
38
+ "toolSuccessBg": "#E1F0E6",
39
+ "toolErrorBg": "#F1E1DC",
40
+ "toolTitle": "",
41
+ "toolOutput": "mutedText",
42
+
43
+ "mdHeading": "cattailBrown",
44
+ "mdLink": "heronBlue",
45
+ "mdLinkUrl": "dimText",
46
+ "mdCode": "marshGreen",
47
+ "mdCodeBlock": "heronBlue",
48
+ "mdCodeBlockBorder": "wetlandBorder",
49
+ "mdQuote": "mutedText",
50
+ "mdQuoteBorder": "wetlandBorder",
51
+ "mdHr": "wetlandBorder",
52
+ "mdListBullet": "marshGreen",
53
+
54
+ "toolDiffAdded": "marshGreen",
55
+ "toolDiffRemoved": "errorRed",
56
+ "toolDiffContext": "mutedText",
57
+
58
+ "syntaxComment": "dimText",
59
+ "syntaxKeyword": "heronBlue",
60
+ "syntaxFunction": "cattailBrown",
61
+ "syntaxVariable": "mutedText",
62
+ "syntaxString": "marshGreen",
63
+ "syntaxNumber": "warningGold",
64
+ "syntaxType": "heronBlue",
65
+ "syntaxOperator": "mutedText",
66
+ "syntaxPunctuation": "mutedText",
67
+
68
+ "thinkingOff": "wetlandBorder",
69
+ "thinkingMinimal": "dimText",
70
+ "thinkingLow": "reedTan",
71
+ "thinkingMedium": "heronBlue",
72
+ "thinkingHigh": "marshGreen",
73
+ "thinkingXhigh": "warningGold",
74
+
75
+ "bashMode": "marshGreen",
76
+
77
+ "statusLineBg": "#E9F0EC",
78
+ "statusLineSep": "wetlandBorder",
79
+ "statusLineModel": "heronBlue",
80
+ "statusLinePath": "heronBlue",
81
+ "statusLineGitClean": "marshGreen",
82
+ "statusLineGitDirty": "warningGold",
83
+ "statusLineContext": "mutedText",
84
+ "statusLineSpend": "heronBlue",
85
+ "statusLineStaged": "marshGreen",
86
+ "statusLineDirty": "warningGold",
87
+ "statusLineUntracked": "heronBlue",
88
+ "statusLineOutput": "heronBlue",
89
+ "statusLineCost": "warningGold",
90
+ "statusLineSubagents": "heronBlue"
91
+ },
92
+ "export": {
93
+ "pageBg": "#F1F5F3",
94
+ "cardBg": "#F8FBF9",
95
+ "infoBg": "#E6EEEA"
96
+ }
97
+ }