@oh-my-pi/pi-coding-agent 6.9.0 → 7.0.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 (143) hide show
  1. package/CHANGELOG.md +173 -51
  2. package/examples/sdk/04-skills.ts +1 -1
  3. package/package.json +6 -5
  4. package/src/cli/stats-cli.ts +191 -0
  5. package/src/core/agent-session.ts +214 -4
  6. package/src/core/auth-storage.ts +524 -202
  7. package/src/core/bash-executor.ts +1 -1
  8. package/src/core/extensions/index.ts +2 -0
  9. package/src/core/extensions/runner.ts +31 -0
  10. package/src/core/extensions/types.ts +24 -0
  11. package/src/core/messages.ts +48 -0
  12. package/src/core/model-registry.ts +7 -0
  13. package/src/core/python-executor.ts +29 -8
  14. package/src/core/python-gateway-coordinator.ts +55 -1
  15. package/src/core/python-prelude.py +201 -8
  16. package/src/core/session-manager.ts +10 -1
  17. package/src/core/tools/bash.ts +5 -7
  18. package/src/core/tools/find.ts +18 -5
  19. package/src/core/tools/index.ts +1 -1
  20. package/src/core/tools/lsp/index.ts +13 -2
  21. package/src/core/tools/patch/applicator.ts +115 -17
  22. package/src/core/tools/patch/index.ts +1 -1
  23. package/src/core/tools/patch/normalize.ts +185 -10
  24. package/src/core/tools/python.ts +445 -86
  25. package/src/core/tools/read.ts +4 -4
  26. package/src/core/tools/task/executor.ts +2 -6
  27. package/src/core/tools/task/index.ts +30 -12
  28. package/src/core/tools/task/render.ts +163 -30
  29. package/src/core/tools/task/template.ts +37 -0
  30. package/src/core/tools/task/types.ts +6 -2
  31. package/src/core/tools/task/worker.ts +1 -1
  32. package/src/index.ts +2 -0
  33. package/src/main.ts +12 -0
  34. package/src/modes/interactive/components/python-execution.ts +180 -0
  35. package/src/modes/interactive/components/welcome.ts +1 -0
  36. package/src/modes/interactive/controllers/command-controller.ts +395 -0
  37. package/src/modes/interactive/controllers/input-controller.ts +83 -8
  38. package/src/modes/interactive/interactive-mode.ts +16 -1
  39. package/src/modes/interactive/theme/dark.json +2 -9
  40. package/src/modes/interactive/theme/defaults/alabaster.json +2 -8
  41. package/src/modes/interactive/theme/defaults/amethyst.json +2 -9
  42. package/src/modes/interactive/theme/defaults/anthracite.json +2 -9
  43. package/src/modes/interactive/theme/defaults/basalt.json +89 -88
  44. package/src/modes/interactive/theme/defaults/birch.json +2 -8
  45. package/src/modes/interactive/theme/defaults/dark-abyss.json +2 -8
  46. package/src/modes/interactive/theme/defaults/dark-arctic.json +2 -9
  47. package/src/modes/interactive/theme/defaults/dark-aurora.json +3 -2
  48. package/src/modes/interactive/theme/defaults/dark-catppuccin.json +2 -1
  49. package/src/modes/interactive/theme/defaults/dark-cavern.json +2 -8
  50. package/src/modes/interactive/theme/defaults/dark-copper.json +3 -2
  51. package/src/modes/interactive/theme/defaults/dark-cosmos.json +2 -8
  52. package/src/modes/interactive/theme/defaults/dark-cyberpunk.json +2 -9
  53. package/src/modes/interactive/theme/defaults/dark-dracula.json +2 -9
  54. package/src/modes/interactive/theme/defaults/dark-eclipse.json +2 -8
  55. package/src/modes/interactive/theme/defaults/dark-ember.json +3 -2
  56. package/src/modes/interactive/theme/defaults/dark-equinox.json +2 -8
  57. package/src/modes/interactive/theme/defaults/dark-forest.json +2 -9
  58. package/src/modes/interactive/theme/defaults/dark-github.json +2 -9
  59. package/src/modes/interactive/theme/defaults/dark-gruvbox.json +2 -9
  60. package/src/modes/interactive/theme/defaults/dark-lavender.json +3 -2
  61. package/src/modes/interactive/theme/defaults/dark-lunar.json +2 -8
  62. package/src/modes/interactive/theme/defaults/dark-midnight.json +3 -2
  63. package/src/modes/interactive/theme/defaults/dark-monochrome.json +2 -9
  64. package/src/modes/interactive/theme/defaults/dark-monokai.json +2 -9
  65. package/src/modes/interactive/theme/defaults/dark-nebula.json +2 -8
  66. package/src/modes/interactive/theme/defaults/dark-nord.json +2 -9
  67. package/src/modes/interactive/theme/defaults/dark-ocean.json +2 -9
  68. package/src/modes/interactive/theme/defaults/dark-one.json +2 -9
  69. package/src/modes/interactive/theme/defaults/dark-rainforest.json +2 -8
  70. package/src/modes/interactive/theme/defaults/dark-reef.json +2 -8
  71. package/src/modes/interactive/theme/defaults/dark-retro.json +2 -9
  72. package/src/modes/interactive/theme/defaults/dark-rose-pine.json +2 -1
  73. package/src/modes/interactive/theme/defaults/dark-sakura.json +3 -2
  74. package/src/modes/interactive/theme/defaults/dark-slate.json +3 -2
  75. package/src/modes/interactive/theme/defaults/dark-solarized.json +2 -1
  76. package/src/modes/interactive/theme/defaults/dark-solstice.json +2 -8
  77. package/src/modes/interactive/theme/defaults/dark-starfall.json +2 -8
  78. package/src/modes/interactive/theme/defaults/dark-sunset.json +2 -9
  79. package/src/modes/interactive/theme/defaults/dark-swamp.json +2 -8
  80. package/src/modes/interactive/theme/defaults/dark-synthwave.json +2 -1
  81. package/src/modes/interactive/theme/defaults/dark-taiga.json +2 -8
  82. package/src/modes/interactive/theme/defaults/dark-terminal.json +3 -2
  83. package/src/modes/interactive/theme/defaults/dark-tokyo-night.json +2 -9
  84. package/src/modes/interactive/theme/defaults/dark-tundra.json +2 -8
  85. package/src/modes/interactive/theme/defaults/dark-twilight.json +2 -8
  86. package/src/modes/interactive/theme/defaults/dark-volcanic.json +2 -8
  87. package/src/modes/interactive/theme/defaults/graphite.json +2 -9
  88. package/src/modes/interactive/theme/defaults/light-arctic.json +2 -1
  89. package/src/modes/interactive/theme/defaults/light-aurora-day.json +2 -8
  90. package/src/modes/interactive/theme/defaults/light-canyon.json +2 -8
  91. package/src/modes/interactive/theme/defaults/light-catppuccin.json +2 -1
  92. package/src/modes/interactive/theme/defaults/light-cirrus.json +2 -8
  93. package/src/modes/interactive/theme/defaults/light-coral.json +3 -2
  94. package/src/modes/interactive/theme/defaults/light-cyberpunk.json +2 -9
  95. package/src/modes/interactive/theme/defaults/light-dawn.json +2 -8
  96. package/src/modes/interactive/theme/defaults/light-dunes.json +2 -8
  97. package/src/modes/interactive/theme/defaults/light-eucalyptus.json +3 -2
  98. package/src/modes/interactive/theme/defaults/light-forest.json +2 -9
  99. package/src/modes/interactive/theme/defaults/light-frost.json +3 -2
  100. package/src/modes/interactive/theme/defaults/light-github.json +2 -1
  101. package/src/modes/interactive/theme/defaults/light-glacier.json +2 -8
  102. package/src/modes/interactive/theme/defaults/light-gruvbox.json +2 -9
  103. package/src/modes/interactive/theme/defaults/light-haze.json +2 -8
  104. package/src/modes/interactive/theme/defaults/light-honeycomb.json +3 -2
  105. package/src/modes/interactive/theme/defaults/light-lagoon.json +2 -8
  106. package/src/modes/interactive/theme/defaults/light-lavender.json +3 -2
  107. package/src/modes/interactive/theme/defaults/light-meadow.json +2 -8
  108. package/src/modes/interactive/theme/defaults/light-mint.json +3 -2
  109. package/src/modes/interactive/theme/defaults/light-monochrome.json +2 -1
  110. package/src/modes/interactive/theme/defaults/light-ocean.json +2 -9
  111. package/src/modes/interactive/theme/defaults/light-one.json +2 -8
  112. package/src/modes/interactive/theme/defaults/light-opal.json +2 -8
  113. package/src/modes/interactive/theme/defaults/light-orchard.json +2 -8
  114. package/src/modes/interactive/theme/defaults/light-paper.json +3 -2
  115. package/src/modes/interactive/theme/defaults/light-prism.json +2 -8
  116. package/src/modes/interactive/theme/defaults/light-retro.json +2 -9
  117. package/src/modes/interactive/theme/defaults/light-sand.json +3 -2
  118. package/src/modes/interactive/theme/defaults/light-savanna.json +2 -8
  119. package/src/modes/interactive/theme/defaults/light-solarized.json +2 -1
  120. package/src/modes/interactive/theme/defaults/light-soleil.json +2 -8
  121. package/src/modes/interactive/theme/defaults/light-sunset.json +2 -9
  122. package/src/modes/interactive/theme/defaults/light-synthwave.json +2 -9
  123. package/src/modes/interactive/theme/defaults/light-tokyo-night.json +2 -9
  124. package/src/modes/interactive/theme/defaults/light-wetland.json +2 -8
  125. package/src/modes/interactive/theme/defaults/light-zenith.json +2 -8
  126. package/src/modes/interactive/theme/defaults/limestone.json +2 -8
  127. package/src/modes/interactive/theme/defaults/mahogany.json +2 -9
  128. package/src/modes/interactive/theme/defaults/marble.json +2 -8
  129. package/src/modes/interactive/theme/defaults/obsidian.json +89 -88
  130. package/src/modes/interactive/theme/defaults/onyx.json +89 -88
  131. package/src/modes/interactive/theme/defaults/pearl.json +2 -8
  132. package/src/modes/interactive/theme/defaults/porcelain.json +89 -88
  133. package/src/modes/interactive/theme/defaults/quartz.json +2 -8
  134. package/src/modes/interactive/theme/defaults/sandstone.json +2 -8
  135. package/src/modes/interactive/theme/defaults/titanium.json +88 -87
  136. package/src/modes/interactive/theme/light.json +2 -8
  137. package/src/modes/interactive/theme/theme-schema.json +5 -0
  138. package/src/modes/interactive/theme/theme.ts +7 -0
  139. package/src/modes/interactive/types.ts +7 -1
  140. package/src/modes/interactive/utils/ui-helpers.ts +20 -0
  141. package/src/prompts/system/system-prompt.md +88 -78
  142. package/src/prompts/tools/python.md +39 -2
  143. package/src/prompts/tools/task.md +8 -13
@@ -46,7 +46,6 @@
46
46
  "dim": "comment",
47
47
  "text": "",
48
48
  "thinkingText": "comment",
49
-
50
49
  "selectedBg": "bgVisual",
51
50
  "userMessageBg": "bgDark",
52
51
  "userMessageText": "",
@@ -58,7 +57,6 @@
58
57
  "toolErrorBg": "diffDelete",
59
58
  "toolTitle": "fg",
60
59
  "toolOutput": "fgDark",
61
-
62
60
  "mdHeading": "orange",
63
61
  "mdLink": "blue",
64
62
  "mdLinkUrl": "cyan",
@@ -69,13 +67,10 @@
69
67
  "mdQuoteBorder": "border",
70
68
  "mdHr": "border",
71
69
  "mdListBullet": "teal",
72
-
73
70
  "toolDiffAdded": "green",
74
71
  "toolDiffRemoved": "red",
75
72
  "toolDiffContext": "comment",
76
-
77
73
  "link": "blue",
78
-
79
74
  "syntaxComment": "comment",
80
75
  "syntaxKeyword": "purple",
81
76
  "syntaxFunction": "blue",
@@ -85,16 +80,13 @@
85
80
  "syntaxType": "cyan",
86
81
  "syntaxOperator": "magenta",
87
82
  "syntaxPunctuation": "fgDark",
88
-
89
83
  "thinkingOff": "fgGutter",
90
84
  "thinkingMinimal": "comment",
91
85
  "thinkingLow": "blue",
92
86
  "thinkingMedium": "cyan",
93
87
  "thinkingHigh": "purple",
94
88
  "thinkingXhigh": "magenta",
95
-
96
89
  "bashMode": "green",
97
-
98
90
  "statusLineBg": "bgDark",
99
91
  "statusLineSep": "border",
100
92
  "statusLineModel": "purple",
@@ -108,7 +100,8 @@
108
100
  "statusLineUntracked": "blue",
109
101
  "statusLineOutput": "magenta",
110
102
  "statusLineCost": "warning",
111
- "statusLineSubagents": "teal"
103
+ "statusLineSubagents": "teal",
104
+ "pythonMode": "yellow"
112
105
  },
113
106
  "export": {
114
107
  "pageBg": "bg",
@@ -27,7 +27,6 @@
27
27
  "dim": "dimText",
28
28
  "text": "",
29
29
  "thinkingText": "mutedText",
30
-
31
30
  "selectedBg": "wetlandElevated",
32
31
  "userMessageBg": "wetlandSurface",
33
32
  "userMessageText": "",
@@ -39,7 +38,6 @@
39
38
  "toolErrorBg": "#F1E1DC",
40
39
  "toolTitle": "",
41
40
  "toolOutput": "mutedText",
42
-
43
41
  "mdHeading": "cattailBrown",
44
42
  "mdLink": "heronBlue",
45
43
  "mdLinkUrl": "dimText",
@@ -50,11 +48,9 @@
50
48
  "mdQuoteBorder": "wetlandBorder",
51
49
  "mdHr": "wetlandBorder",
52
50
  "mdListBullet": "marshGreen",
53
-
54
51
  "toolDiffAdded": "marshGreen",
55
52
  "toolDiffRemoved": "errorRed",
56
53
  "toolDiffContext": "mutedText",
57
-
58
54
  "syntaxComment": "dimText",
59
55
  "syntaxKeyword": "heronBlue",
60
56
  "syntaxFunction": "cattailBrown",
@@ -64,16 +60,13 @@
64
60
  "syntaxType": "heronBlue",
65
61
  "syntaxOperator": "mutedText",
66
62
  "syntaxPunctuation": "mutedText",
67
-
68
63
  "thinkingOff": "wetlandBorder",
69
64
  "thinkingMinimal": "dimText",
70
65
  "thinkingLow": "reedTan",
71
66
  "thinkingMedium": "heronBlue",
72
67
  "thinkingHigh": "marshGreen",
73
68
  "thinkingXhigh": "warningGold",
74
-
75
69
  "bashMode": "marshGreen",
76
-
77
70
  "statusLineBg": "#E9F0EC",
78
71
  "statusLineSep": "wetlandBorder",
79
72
  "statusLineModel": "heronBlue",
@@ -87,7 +80,8 @@
87
80
  "statusLineUntracked": "heronBlue",
88
81
  "statusLineOutput": "heronBlue",
89
82
  "statusLineCost": "warningGold",
90
- "statusLineSubagents": "heronBlue"
83
+ "statusLineSubagents": "heronBlue",
84
+ "pythonMode": "#f0c040"
91
85
  },
92
86
  "export": {
93
87
  "pageBg": "#F1F5F3",
@@ -25,7 +25,6 @@
25
25
  "dim": "dim",
26
26
  "text": "",
27
27
  "thinkingText": "muted",
28
-
29
28
  "selectedBg": "#e9edf5",
30
29
  "userMessageBg": "#ffffff",
31
30
  "userMessageText": "",
@@ -37,7 +36,6 @@
37
36
  "toolErrorBg": "#f8ecec",
38
37
  "toolTitle": "",
39
38
  "toolOutput": "muted",
40
-
41
39
  "mdHeading": "ink",
42
40
  "mdLink": "blue",
43
41
  "mdLinkUrl": "dim",
@@ -48,11 +46,9 @@
48
46
  "mdQuoteBorder": "silver",
49
47
  "mdHr": "silver",
50
48
  "mdListBullet": "blue",
51
-
52
49
  "toolDiffAdded": "success",
53
50
  "toolDiffRemoved": "error",
54
51
  "toolDiffContext": "muted",
55
-
56
52
  "syntaxComment": "dim",
57
53
  "syntaxKeyword": "blue",
58
54
  "syntaxFunction": "ink",
@@ -62,16 +58,13 @@
62
58
  "syntaxType": "success",
63
59
  "syntaxOperator": "ink",
64
60
  "syntaxPunctuation": "ink",
65
-
66
61
  "thinkingOff": "#d9dee7",
67
62
  "thinkingMinimal": "dim",
68
63
  "thinkingLow": "silver",
69
64
  "thinkingMedium": "cyan",
70
65
  "thinkingHigh": "blue",
71
66
  "thinkingXhigh": "#1b4f8f",
72
-
73
67
  "bashMode": "blue",
74
-
75
68
  "statusLineBg": "#f0f3f8",
76
69
  "statusLineSep": "#c4cbd6",
77
70
  "statusLineModel": "blue",
@@ -85,7 +78,8 @@
85
78
  "statusLineUntracked": "cyan",
86
79
  "statusLineOutput": "ink",
87
80
  "statusLineCost": "blue",
88
- "statusLineSubagents": "blue"
81
+ "statusLineSubagents": "blue",
82
+ "pythonMode": "#f0c040"
89
83
  },
90
84
  "export": {
91
85
  "pageBg": "#ffffff",
@@ -30,7 +30,6 @@
30
30
  "dim": "mutedSage",
31
31
  "text": "",
32
32
  "thinkingText": "mediumEarth",
33
-
34
33
  "selectedBg": "selectedBg",
35
34
  "userMessageBg": "userMsgBg",
36
35
  "userMessageText": "",
@@ -42,7 +41,6 @@
42
41
  "toolErrorBg": "toolErrorBg",
43
42
  "toolTitle": "",
44
43
  "toolOutput": "mediumEarth",
45
-
46
44
  "mdHeading": "clay",
47
45
  "mdLink": "warmBrown",
48
46
  "mdLinkUrl": "mutedSage",
@@ -53,11 +51,9 @@
53
51
  "mdQuoteBorder": "sediment",
54
52
  "mdHr": "sediment",
55
53
  "mdListBullet": "sage",
56
-
57
54
  "toolDiffAdded": "sage",
58
55
  "toolDiffRemoved": "#a85840",
59
56
  "toolDiffContext": "mediumEarth",
60
-
61
57
  "syntaxComment": "#708060",
62
58
  "syntaxKeyword": "#886030",
63
59
  "syntaxFunction": "#907050",
@@ -67,16 +63,13 @@
67
63
  "syntaxType": "#a07840",
68
64
  "syntaxOperator": "#302c24",
69
65
  "syntaxPunctuation": "#302c24",
70
-
71
66
  "thinkingOff": "sediment",
72
67
  "thinkingMinimal": "#b0a890",
73
68
  "thinkingLow": "#907050",
74
69
  "thinkingMedium": "#a07840",
75
70
  "thinkingHigh": "#886030",
76
71
  "thinkingXhigh": "#704020",
77
-
78
72
  "bashMode": "sage",
79
-
80
73
  "statusLineBg": "#e8e4d8",
81
74
  "statusLineSep": "#a0988c",
82
75
  "statusLineModel": "#886030",
@@ -90,7 +83,8 @@
90
83
  "statusLineUntracked": 94,
91
84
  "statusLineOutput": 130,
92
85
  "statusLineCost": 130,
93
- "statusLineSubagents": "amber"
86
+ "statusLineSubagents": "amber",
87
+ "pythonMode": "amber"
94
88
  },
95
89
  "export": {
96
90
  "pageBg": "#f5f1e8",
@@ -32,7 +32,6 @@
32
32
  "dim": "dimCream",
33
33
  "text": "",
34
34
  "thinkingText": "mutedCream",
35
-
36
35
  "selectedBg": "selectedBg",
37
36
  "userMessageBg": "userMsgBg",
38
37
  "userMessageText": "",
@@ -44,7 +43,6 @@
44
43
  "toolErrorBg": "toolErrorBg",
45
44
  "toolTitle": "",
46
45
  "toolOutput": "mutedCream",
47
-
48
46
  "mdHeading": "brass",
49
47
  "mdLink": "cedar",
50
48
  "mdLinkUrl": "dimCream",
@@ -55,13 +53,10 @@
55
53
  "mdQuoteBorder": "darkGrain",
56
54
  "mdHr": "grain",
57
55
  "mdListBullet": "brass",
58
-
59
56
  "toolDiffAdded": "forest",
60
57
  "toolDiffRemoved": "burgundy",
61
58
  "toolDiffContext": "mutedCream",
62
-
63
59
  "link": "cedar",
64
-
65
60
  "syntaxComment": "#7a6e63",
66
61
  "syntaxKeyword": "burgundy",
67
62
  "syntaxFunction": "brass",
@@ -71,16 +66,13 @@
71
66
  "syntaxType": "amber",
72
67
  "syntaxOperator": "mutedCream",
73
68
  "syntaxPunctuation": "mutedCream",
74
-
75
69
  "thinkingOff": "darkGrain",
76
70
  "thinkingMinimal": "dimCream",
77
71
  "thinkingLow": "grain",
78
72
  "thinkingMedium": "cedar",
79
73
  "thinkingHigh": "brass",
80
74
  "thinkingXhigh": "amber",
81
-
82
75
  "bashMode": "brass",
83
-
84
76
  "statusLineBg": "woodBase",
85
77
  "statusLineSep": 237,
86
78
  "statusLineModel": "cedar",
@@ -94,7 +86,8 @@
94
86
  "statusLineUntracked": 179,
95
87
  "statusLineOutput": 138,
96
88
  "statusLineCost": 138,
97
- "statusLineSubagents": "brass"
89
+ "statusLineSubagents": "brass",
90
+ "pythonMode": "amber"
98
91
  },
99
92
  "export": {
100
93
  "pageBg": "#181210",
@@ -29,7 +29,6 @@
29
29
  "dim": "#9a968f",
30
30
  "text": "",
31
31
  "thinkingText": "warmGray",
32
-
33
32
  "selectedBg": "selectedBg",
34
33
  "userMessageBg": "userMsgBg",
35
34
  "userMessageText": "",
@@ -41,7 +40,6 @@
41
40
  "toolErrorBg": "toolErrorBg",
42
41
  "toolTitle": "",
43
42
  "toolOutput": "warmGray",
44
-
45
43
  "mdHeading": "#8b6f47",
46
44
  "mdLink": "deepNavy",
47
45
  "mdLinkUrl": "warmGray",
@@ -52,11 +50,9 @@
52
50
  "mdQuoteBorder": "marbleVein",
53
51
  "mdHr": "marbleVein",
54
52
  "mdListBullet": "forestGreen",
55
-
56
53
  "toolDiffAdded": "forestGreen",
57
54
  "toolDiffRemoved": "burgundy",
58
55
  "toolDiffContext": "warmGray",
59
-
60
56
  "syntaxComment": "#4a6741",
61
57
  "syntaxKeyword": "#2c3e50",
62
58
  "syntaxFunction": "#6a5d7a",
@@ -66,16 +62,13 @@
66
62
  "syntaxType": "#2c3e50",
67
63
  "syntaxOperator": "#2a2826",
68
64
  "syntaxPunctuation": "#7a766f",
69
-
70
65
  "thinkingOff": "lightVein",
71
66
  "thinkingMinimal": "#9a968f",
72
67
  "thinkingLow": "#5a6878",
73
68
  "thinkingMedium": "#6a5d7a",
74
69
  "thinkingHigh": "#8b6f47",
75
70
  "thinkingXhigh": "#8b4049",
76
-
77
71
  "bashMode": "forestGreen",
78
-
79
72
  "statusLineBg": "#ede9e6",
80
73
  "statusLineSep": "#9a968f",
81
74
  "statusLineModel": "#6a5d7a",
@@ -89,7 +82,8 @@
89
82
  "statusLineUntracked": 31,
90
83
  "statusLineOutput": 133,
91
84
  "statusLineCost": 133,
92
- "statusLineSubagents": "veinGray"
85
+ "statusLineSubagents": "veinGray",
86
+ "pythonMode": "#f0c040"
93
87
  },
94
88
  "export": {
95
89
  "pageBg": "#f9f7f5",
@@ -1,90 +1,91 @@
1
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
- }
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
+ "pythonMode": "gold"
85
+ },
86
+ "export": {
87
+ "pageBg": "black",
88
+ "cardBg": "glass",
89
+ "infoBg": "smoke"
90
+ }
90
91
  }