@oh-my-pi/pi-coding-agent 3.13.1337 → 3.15.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 (149) hide show
  1. package/CHANGELOG.md +88 -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/index.ts +1 -1
  15. package/src/core/hooks/tool-wrapper.ts +0 -1
  16. package/src/core/hooks/types.ts +2 -2
  17. package/src/core/plugins/doctor.ts +9 -1
  18. package/src/core/sdk.ts +2 -1
  19. package/src/core/session-manager.ts +552 -41
  20. package/src/core/settings-manager.ts +174 -0
  21. package/src/core/system-prompt.ts +9 -14
  22. package/src/core/title-generator.ts +2 -8
  23. package/src/core/tools/ask.ts +19 -37
  24. package/src/core/tools/bash.ts +2 -37
  25. package/src/core/tools/edit.ts +2 -9
  26. package/src/core/tools/exa/render.ts +52 -48
  27. package/src/core/tools/find.ts +10 -8
  28. package/src/core/tools/grep.ts +45 -17
  29. package/src/core/tools/ls.ts +22 -2
  30. package/src/core/tools/lsp/clients/biome-client.ts +207 -0
  31. package/src/core/tools/lsp/clients/index.ts +49 -0
  32. package/src/core/tools/lsp/clients/lsp-linter-client.ts +98 -0
  33. package/src/core/tools/lsp/config.ts +3 -0
  34. package/src/core/tools/lsp/index.ts +107 -55
  35. package/src/core/tools/lsp/render.ts +192 -79
  36. package/src/core/tools/lsp/types.ts +27 -0
  37. package/src/core/tools/lsp/utils.ts +62 -22
  38. package/src/core/tools/notebook.ts +9 -1
  39. package/src/core/tools/output.ts +37 -14
  40. package/src/core/tools/read.ts +349 -34
  41. package/src/core/tools/renderers.ts +290 -89
  42. package/src/core/tools/review.ts +12 -5
  43. package/src/core/tools/task/agents.ts +5 -5
  44. package/src/core/tools/task/commands.ts +3 -3
  45. package/src/core/tools/task/executor.ts +33 -1
  46. package/src/core/tools/task/index.ts +93 -6
  47. package/src/core/tools/task/render.ts +147 -66
  48. package/src/core/tools/task/types.ts +14 -9
  49. package/src/core/tools/web-fetch.ts +242 -103
  50. package/src/core/tools/web-search/index.ts +64 -20
  51. package/src/core/tools/web-search/providers/exa.ts +68 -172
  52. package/src/core/tools/web-search/render.ts +264 -74
  53. package/src/core/tools/write.ts +2 -8
  54. package/src/main.ts +10 -6
  55. package/src/modes/cleanup.ts +23 -0
  56. package/src/modes/index.ts +9 -4
  57. package/src/modes/interactive/components/bash-execution.ts +6 -3
  58. package/src/modes/interactive/components/branch-summary-message.ts +1 -1
  59. package/src/modes/interactive/components/compaction-summary-message.ts +1 -1
  60. package/src/modes/interactive/components/dynamic-border.ts +1 -1
  61. package/src/modes/interactive/components/extensions/extension-dashboard.ts +4 -5
  62. package/src/modes/interactive/components/extensions/extension-list.ts +18 -16
  63. package/src/modes/interactive/components/extensions/inspector-panel.ts +8 -8
  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 +169 -233
  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 +98 -13
  84. package/src/modes/interactive/theme/dark.json +3 -2
  85. package/src/modes/interactive/theme/defaults/dark-arctic.json +111 -0
  86. package/src/modes/interactive/theme/defaults/dark-catppuccin.json +106 -0
  87. package/src/modes/interactive/theme/defaults/dark-cyberpunk.json +109 -0
  88. package/src/modes/interactive/theme/defaults/dark-dracula.json +105 -0
  89. package/src/modes/interactive/theme/defaults/dark-forest.json +103 -0
  90. package/src/modes/interactive/theme/defaults/dark-github.json +112 -0
  91. package/src/modes/interactive/theme/defaults/dark-gruvbox.json +119 -0
  92. package/src/modes/interactive/theme/defaults/dark-monochrome.json +101 -0
  93. package/src/modes/interactive/theme/defaults/dark-monokai.json +105 -0
  94. package/src/modes/interactive/theme/defaults/dark-nord.json +104 -0
  95. package/src/modes/interactive/theme/defaults/dark-ocean.json +108 -0
  96. package/src/modes/interactive/theme/defaults/dark-one.json +107 -0
  97. package/src/modes/interactive/theme/defaults/dark-retro.json +99 -0
  98. package/src/modes/interactive/theme/defaults/dark-rose-pine.json +95 -0
  99. package/src/modes/interactive/theme/defaults/dark-solarized.json +96 -0
  100. package/src/modes/interactive/theme/defaults/dark-sunset.json +106 -0
  101. package/src/modes/interactive/theme/defaults/dark-synthwave.json +102 -0
  102. package/src/modes/interactive/theme/defaults/dark-tokyo-night.json +108 -0
  103. package/src/modes/interactive/theme/defaults/index.ts +67 -0
  104. package/src/modes/interactive/theme/defaults/light-arctic.json +106 -0
  105. package/src/modes/interactive/theme/defaults/light-catppuccin.json +105 -0
  106. package/src/modes/interactive/theme/defaults/light-cyberpunk.json +103 -0
  107. package/src/modes/interactive/theme/defaults/light-forest.json +107 -0
  108. package/src/modes/interactive/theme/defaults/light-github.json +114 -0
  109. package/src/modes/interactive/theme/defaults/light-gruvbox.json +115 -0
  110. package/src/modes/interactive/theme/defaults/light-monochrome.json +100 -0
  111. package/src/modes/interactive/theme/defaults/light-ocean.json +106 -0
  112. package/src/modes/interactive/theme/defaults/light-one.json +105 -0
  113. package/src/modes/interactive/theme/defaults/light-retro.json +105 -0
  114. package/src/modes/interactive/theme/defaults/light-solarized.json +101 -0
  115. package/src/modes/interactive/theme/defaults/light-sunset.json +106 -0
  116. package/src/modes/interactive/theme/defaults/light-synthwave.json +105 -0
  117. package/src/modes/interactive/theme/defaults/light-tokyo-night.json +118 -0
  118. package/src/modes/interactive/theme/light.json +3 -2
  119. package/src/modes/interactive/theme/theme-schema.json +120 -4
  120. package/src/modes/interactive/theme/theme.ts +1228 -14
  121. package/src/prompts/branch-summary-preamble.md +3 -0
  122. package/src/prompts/branch-summary.md +28 -0
  123. package/src/prompts/compaction-summary.md +34 -0
  124. package/src/prompts/compaction-turn-prefix.md +16 -0
  125. package/src/prompts/compaction-update-summary.md +41 -0
  126. package/src/prompts/init.md +30 -0
  127. package/src/{core/tools/task/bundled-agents → prompts}/reviewer.md +6 -0
  128. package/src/prompts/summarization-system.md +3 -0
  129. package/src/prompts/system-prompt.md +27 -0
  130. package/src/{core/tools/task/bundled-agents → prompts}/task.md +2 -0
  131. package/src/prompts/title-system.md +8 -0
  132. package/src/prompts/tools/ask.md +24 -0
  133. package/src/prompts/tools/bash.md +23 -0
  134. package/src/prompts/tools/edit.md +9 -0
  135. package/src/prompts/tools/find.md +6 -0
  136. package/src/prompts/tools/grep.md +12 -0
  137. package/src/prompts/tools/lsp.md +14 -0
  138. package/src/prompts/tools/output.md +23 -0
  139. package/src/prompts/tools/read.md +25 -0
  140. package/src/prompts/tools/web-fetch.md +8 -0
  141. package/src/prompts/tools/web-search.md +10 -0
  142. package/src/prompts/tools/write.md +10 -0
  143. package/src/commands/init.md +0 -20
  144. /package/src/{core/tools/task/bundled-commands → prompts}/architect-plan.md +0 -0
  145. /package/src/{core/tools/task/bundled-agents → prompts}/browser.md +0 -0
  146. /package/src/{core/tools/task/bundled-agents → prompts}/explore.md +0 -0
  147. /package/src/{core/tools/task/bundled-commands → prompts}/implement-with-critic.md +0 -0
  148. /package/src/{core/tools/task/bundled-commands → prompts}/implement.md +0 -0
  149. /package/src/{core/tools/task/bundled-agents → prompts}/plan.md +0 -0
@@ -0,0 +1,118 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "light-tokyo-night",
4
+ "vars": {
5
+ "bg": "#e1e2e7",
6
+ "fg": "#3760bf",
7
+ "bgDark": "#d0d5e3",
8
+ "bgHighlight": "#c4c8da",
9
+ "bgVisual": "#b7c1e3",
10
+ "bgSearch": "#7890dd",
11
+ "border": "#b4b5b9",
12
+ "borderHighlight": "#4094a3",
13
+ "comment": "#848cb5",
14
+ "fgDark": "#6172b0",
15
+ "fgGutter": "#a8aecb",
16
+ "error": "#c64343",
17
+ "warning": "#8c6c3e",
18
+ "info": "#07879d",
19
+ "hint": "#118c74",
20
+ "blue": "#2e7de9",
21
+ "cyan": "#007197",
22
+ "green": "#587539",
23
+ "magenta": "#9854f1",
24
+ "orange": "#b15c00",
25
+ "purple": "#7847bd",
26
+ "red": "#f52a65",
27
+ "teal": "#118c74",
28
+ "yellow": "#8c6c3e",
29
+ "blue7": "#92a6d5",
30
+ "diffAdd": "#b7ced5",
31
+ "diffChange": "#d5d9e4",
32
+ "diffDelete": "#dababe",
33
+ "gitAdd": "#4197a4",
34
+ "gitChange": "#506d9c",
35
+ "gitDelete": "#c47981"
36
+ },
37
+ "colors": {
38
+ "accent": "teal",
39
+ "border": "border",
40
+ "borderAccent": "borderHighlight",
41
+ "borderMuted": "fgGutter",
42
+ "success": "green",
43
+ "error": "error",
44
+ "warning": "warning",
45
+ "muted": "fgDark",
46
+ "dim": "comment",
47
+ "text": "",
48
+ "thinkingText": "comment",
49
+
50
+ "selectedBg": "bgVisual",
51
+ "userMessageBg": "bgDark",
52
+ "userMessageText": "",
53
+ "customMessageBg": "bgHighlight",
54
+ "customMessageText": "",
55
+ "customMessageLabel": "purple",
56
+ "toolPendingBg": "bgHighlight",
57
+ "toolSuccessBg": "diffAdd",
58
+ "toolErrorBg": "diffDelete",
59
+ "toolTitle": "fg",
60
+ "toolOutput": "fgDark",
61
+
62
+ "mdHeading": "orange",
63
+ "mdLink": "blue",
64
+ "mdLinkUrl": "cyan",
65
+ "mdCode": "cyan",
66
+ "mdCodeBlock": "fgDark",
67
+ "mdCodeBlockBorder": "border",
68
+ "mdQuote": "fgDark",
69
+ "mdQuoteBorder": "border",
70
+ "mdHr": "border",
71
+ "mdListBullet": "teal",
72
+
73
+ "toolDiffAdded": "green",
74
+ "toolDiffRemoved": "red",
75
+ "toolDiffContext": "comment",
76
+
77
+ "link": "blue",
78
+
79
+ "syntaxComment": "comment",
80
+ "syntaxKeyword": "purple",
81
+ "syntaxFunction": "blue",
82
+ "syntaxVariable": "fg",
83
+ "syntaxString": "green",
84
+ "syntaxNumber": "orange",
85
+ "syntaxType": "cyan",
86
+ "syntaxOperator": "magenta",
87
+ "syntaxPunctuation": "fgDark",
88
+
89
+ "thinkingOff": "fgGutter",
90
+ "thinkingMinimal": "comment",
91
+ "thinkingLow": "blue",
92
+ "thinkingMedium": "cyan",
93
+ "thinkingHigh": "purple",
94
+ "thinkingXhigh": "magenta",
95
+
96
+ "bashMode": "green",
97
+
98
+ "statusLineBg": "bgDark",
99
+ "statusLineSep": "border",
100
+ "statusLineModel": "purple",
101
+ "statusLinePath": "cyan",
102
+ "statusLineGitClean": "gitAdd",
103
+ "statusLineGitDirty": "gitChange",
104
+ "statusLineContext": "blue7",
105
+ "statusLineSpend": "info",
106
+ "statusLineStaged": "gitAdd",
107
+ "statusLineDirty": "gitChange",
108
+ "statusLineUntracked": "blue",
109
+ "statusLineOutput": "magenta",
110
+ "statusLineCost": "warning",
111
+ "statusLineSubagents": "teal"
112
+ },
113
+ "export": {
114
+ "pageBg": "bg",
115
+ "cardBg": "bgDark",
116
+ "infoBg": "bgHighlight"
117
+ }
118
+ }
@@ -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,