@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
@@ -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": "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
- }
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
+ "pythonMode": "#f0c040"
85
+ },
86
+ "export": {
87
+ "pageBg": "$stone",
88
+ "cardBg": "$band1",
89
+ "infoBg": "$band2"
90
+ }
90
91
  }
@@ -29,7 +29,6 @@
29
29
  "dim": "#807880",
30
30
  "text": "",
31
31
  "thinkingText": "pearlGray",
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": "pearlGray",
44
-
45
43
  "mdHeading": "#a08060",
46
44
  "mdLink": "oysterBlue",
47
45
  "mdLinkUrl": "#807880",
@@ -52,11 +50,9 @@
52
50
  "mdQuoteBorder": "pearlGray",
53
51
  "mdHr": "pearlGray",
54
52
  "mdListBullet": "#709070",
55
-
56
53
  "toolDiffAdded": "#709070",
57
54
  "toolDiffRemoved": "#a06060",
58
55
  "toolDiffContext": "pearlGray",
59
-
60
56
  "syntaxComment": "#608060",
61
57
  "syntaxKeyword": "#6070a0",
62
58
  "syntaxFunction": "#805070",
@@ -66,16 +62,13 @@
66
62
  "syntaxType": "#507090",
67
63
  "syntaxOperator": "#404040",
68
64
  "syntaxPunctuation": "#404040",
69
-
70
65
  "thinkingOff": "shellLayer",
71
66
  "thinkingMinimal": "#a09ca8",
72
67
  "thinkingLow": "#7080a0",
73
68
  "thinkingMedium": "#9070a0",
74
69
  "thinkingHigh": "#a06090",
75
70
  "thinkingXhigh": "#b05090",
76
-
77
71
  "bashMode": "#709070",
78
-
79
72
  "statusLineBg": "#ece8f0",
80
73
  "statusLineSep": "#908898",
81
74
  "statusLineModel": "#9070a0",
@@ -89,7 +82,8 @@
89
82
  "statusLineUntracked": 67,
90
83
  "statusLineOutput": 133,
91
84
  "statusLineCost": 133,
92
- "statusLineSubagents": "nacrePink"
85
+ "statusLineSubagents": "nacrePink",
86
+ "pythonMode": "#f0c040"
93
87
  },
94
88
  "export": {
95
89
  "pageBg": "#f9f9fc",
@@ -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": "porcelain",
4
- "vars": {
5
- "porcelainWhite": "#f8f9fc",
6
- "wedgwoodBlue": "#5070a0",
7
- "goldTrim": "#b09040",
8
- "delicateGray": "#d0d4e0",
9
- "cobaltBlack": "#1a2030",
10
- "paleBlue": "#e8eef8",
11
- "deepWedgwood": "#405080",
12
- "warmGold": "#c0a050",
13
- "softBlue": "#708cb0",
14
- "crimsonRed": "#c04040",
15
- "darkGold": "#907030",
16
- "mutedBlue": "#909cb0"
17
- },
18
- "colors": {
19
- "accent": "wedgwoodBlue",
20
- "border": "delicateGray",
21
- "borderAccent": "wedgwoodBlue",
22
- "borderMuted": "#e8eaf0",
23
- "success": "#507050",
24
- "error": "crimsonRed",
25
- "warning": "darkGold",
26
- "muted": "mutedBlue",
27
- "dim": "#a0a8b8",
28
- "text": "",
29
- "thinkingText": "softBlue",
30
- "selectedBg": "paleBlue",
31
- "userMessageBg": "wedgwoodBlue",
32
- "userMessageText": "",
33
- "customMessageBg": "goldTrim",
34
- "customMessageText": "",
35
- "customMessageLabel": "warmGold",
36
- "toolPendingBg": "paleBlue",
37
- "toolSuccessBg": "#e8f0e8",
38
- "toolErrorBg": "#f8e8e8",
39
- "toolTitle": "",
40
- "toolOutput": "cobaltBlack",
41
- "mdHeading": "deepWedgwood",
42
- "mdLink": "wedgwoodBlue",
43
- "mdLinkUrl": "goldTrim",
44
- "mdCode": "darkGold",
45
- "mdCodeBlock": "cobaltBlack",
46
- "mdCodeBlockBorder": "delicateGray",
47
- "mdQuote": "softBlue",
48
- "mdQuoteBorder": "wedgwoodBlue",
49
- "mdHr": "delicateGray",
50
- "mdListBullet": "wedgwoodBlue",
51
- "toolDiffAdded": "#507050",
52
- "toolDiffRemoved": "crimsonRed",
53
- "toolDiffContext": "mutedBlue",
54
- "syntaxComment": "mutedBlue",
55
- "syntaxKeyword": "deepWedgwood",
56
- "syntaxFunction": "wedgwoodBlue",
57
- "syntaxVariable": "cobaltBlack",
58
- "syntaxString": "darkGold",
59
- "syntaxNumber": "goldTrim",
60
- "syntaxType": "deepWedgwood",
61
- "syntaxOperator": "softBlue",
62
- "syntaxPunctuation": "#606870",
63
- "thinkingOff": "#c0c4d0",
64
- "thinkingMinimal": "mutedBlue",
65
- "thinkingLow": "softBlue",
66
- "thinkingMedium": "wedgwoodBlue",
67
- "thinkingHigh": "deepWedgwood",
68
- "thinkingXhigh": "cobaltBlack",
69
- "bashMode": "goldTrim",
70
- "statusLineBg": "porcelainWhite",
71
- "statusLineSep": "delicateGray",
72
- "statusLineModel": "wedgwoodBlue",
73
- "statusLinePath": "cobaltBlack",
74
- "statusLineGitClean": "#507050",
75
- "statusLineGitDirty": "darkGold",
76
- "statusLineContext": "softBlue",
77
- "statusLineSpend": "goldTrim",
78
- "statusLineStaged": "#507050",
79
- "statusLineDirty": "darkGold",
80
- "statusLineUntracked": "mutedBlue",
81
- "statusLineOutput": "wedgwoodBlue",
82
- "statusLineCost": "goldTrim",
83
- "statusLineSubagents": "deepWedgwood"
84
- },
85
- "export": {
86
- "pageBg": "porcelainWhite",
87
- "cardBg": "#ffffff",
88
- "infoBg": "paleBlue"
89
- }
2
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
3
+ "name": "porcelain",
4
+ "vars": {
5
+ "porcelainWhite": "#f8f9fc",
6
+ "wedgwoodBlue": "#5070a0",
7
+ "goldTrim": "#b09040",
8
+ "delicateGray": "#d0d4e0",
9
+ "cobaltBlack": "#1a2030",
10
+ "paleBlue": "#e8eef8",
11
+ "deepWedgwood": "#405080",
12
+ "warmGold": "#c0a050",
13
+ "softBlue": "#708cb0",
14
+ "crimsonRed": "#c04040",
15
+ "darkGold": "#907030",
16
+ "mutedBlue": "#909cb0"
17
+ },
18
+ "colors": {
19
+ "accent": "wedgwoodBlue",
20
+ "border": "delicateGray",
21
+ "borderAccent": "wedgwoodBlue",
22
+ "borderMuted": "#e8eaf0",
23
+ "success": "#507050",
24
+ "error": "crimsonRed",
25
+ "warning": "darkGold",
26
+ "muted": "mutedBlue",
27
+ "dim": "#a0a8b8",
28
+ "text": "",
29
+ "thinkingText": "softBlue",
30
+ "selectedBg": "paleBlue",
31
+ "userMessageBg": "wedgwoodBlue",
32
+ "userMessageText": "",
33
+ "customMessageBg": "goldTrim",
34
+ "customMessageText": "",
35
+ "customMessageLabel": "warmGold",
36
+ "toolPendingBg": "paleBlue",
37
+ "toolSuccessBg": "#e8f0e8",
38
+ "toolErrorBg": "#f8e8e8",
39
+ "toolTitle": "",
40
+ "toolOutput": "cobaltBlack",
41
+ "mdHeading": "deepWedgwood",
42
+ "mdLink": "wedgwoodBlue",
43
+ "mdLinkUrl": "goldTrim",
44
+ "mdCode": "darkGold",
45
+ "mdCodeBlock": "cobaltBlack",
46
+ "mdCodeBlockBorder": "delicateGray",
47
+ "mdQuote": "softBlue",
48
+ "mdQuoteBorder": "wedgwoodBlue",
49
+ "mdHr": "delicateGray",
50
+ "mdListBullet": "wedgwoodBlue",
51
+ "toolDiffAdded": "#507050",
52
+ "toolDiffRemoved": "crimsonRed",
53
+ "toolDiffContext": "mutedBlue",
54
+ "syntaxComment": "mutedBlue",
55
+ "syntaxKeyword": "deepWedgwood",
56
+ "syntaxFunction": "wedgwoodBlue",
57
+ "syntaxVariable": "cobaltBlack",
58
+ "syntaxString": "darkGold",
59
+ "syntaxNumber": "goldTrim",
60
+ "syntaxType": "deepWedgwood",
61
+ "syntaxOperator": "softBlue",
62
+ "syntaxPunctuation": "#606870",
63
+ "thinkingOff": "#c0c4d0",
64
+ "thinkingMinimal": "mutedBlue",
65
+ "thinkingLow": "softBlue",
66
+ "thinkingMedium": "wedgwoodBlue",
67
+ "thinkingHigh": "deepWedgwood",
68
+ "thinkingXhigh": "cobaltBlack",
69
+ "bashMode": "goldTrim",
70
+ "statusLineBg": "porcelainWhite",
71
+ "statusLineSep": "delicateGray",
72
+ "statusLineModel": "wedgwoodBlue",
73
+ "statusLinePath": "cobaltBlack",
74
+ "statusLineGitClean": "#507050",
75
+ "statusLineGitDirty": "darkGold",
76
+ "statusLineContext": "softBlue",
77
+ "statusLineSpend": "goldTrim",
78
+ "statusLineStaged": "#507050",
79
+ "statusLineDirty": "darkGold",
80
+ "statusLineUntracked": "mutedBlue",
81
+ "statusLineOutput": "wedgwoodBlue",
82
+ "statusLineCost": "goldTrim",
83
+ "statusLineSubagents": "deepWedgwood",
84
+ "pythonMode": "#f0c040"
85
+ },
86
+ "export": {
87
+ "pageBg": "porcelainWhite",
88
+ "cardBg": "#ffffff",
89
+ "infoBg": "paleBlue"
90
+ }
90
91
  }
@@ -32,7 +32,6 @@
32
32
  "dim": "lavenderGray",
33
33
  "text": "",
34
34
  "thinkingText": "dustyRose",
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": "dustyRose",
47
-
48
46
  "mdHeading": "warmGold",
49
47
  "mdLink": "quartzPurple",
50
48
  "mdLinkUrl": "lavenderGray",
@@ -55,11 +53,9 @@
55
53
  "mdQuoteBorder": "softRose",
56
54
  "mdHr": "softRose",
57
55
  "mdListBullet": "roseGreen",
58
-
59
56
  "toolDiffAdded": "roseGreen",
60
57
  "toolDiffRemoved": "roseRed",
61
58
  "toolDiffContext": "dustyRose",
62
-
63
59
  "syntaxComment": "#7fa090",
64
60
  "syntaxKeyword": "#8070a0",
65
61
  "syntaxFunction": "#c07088",
@@ -69,16 +65,13 @@
69
65
  "syntaxType": "#9e6b7b",
70
66
  "syntaxOperator": "#3a2830",
71
67
  "syntaxPunctuation": "#3a2830",
72
-
73
68
  "thinkingOff": "softRose",
74
69
  "thinkingMinimal": "#a898b0",
75
70
  "thinkingLow": "#8070a0",
76
71
  "thinkingMedium": "#c07088",
77
72
  "thinkingHigh": "#9e6b7b",
78
73
  "thinkingXhigh": "#8b4560",
79
-
80
74
  "bashMode": "roseGreen",
81
-
82
75
  "statusLineBg": "#f5e8ed",
83
76
  "statusLineSep": "#9e6b7b",
84
77
  "statusLineModel": "#8070a0",
@@ -92,7 +85,8 @@
92
85
  "statusLineUntracked": 139,
93
86
  "statusLineOutput": 132,
94
87
  "statusLineCost": 132,
95
- "statusLineSubagents": "rosePink"
88
+ "statusLineSubagents": "rosePink",
89
+ "pythonMode": "#f0c040"
96
90
  },
97
91
  "export": {
98
92
  "pageBg": "#fbf7f9",
@@ -31,7 +31,6 @@
31
31
  "dim": "darkGray",
32
32
  "text": "",
33
33
  "thinkingText": "mediumGray",
34
-
35
34
  "selectedBg": "selectedBg",
36
35
  "userMessageBg": "userMsgBg",
37
36
  "userMessageText": "",
@@ -43,7 +42,6 @@
43
42
  "toolErrorBg": "toolErrorBg",
44
43
  "toolTitle": "",
45
44
  "toolOutput": "mediumGray",
46
-
47
45
  "mdHeading": "amber",
48
46
  "mdLink": "terracotta",
49
47
  "mdLinkUrl": "mediumGray",
@@ -54,11 +52,9 @@
54
52
  "mdQuoteBorder": "erosion",
55
53
  "mdHr": "erosion",
56
54
  "mdListBullet": "sage",
57
-
58
55
  "toolDiffAdded": "sage",
59
56
  "toolDiffRemoved": "rust",
60
57
  "toolDiffContext": "mediumGray",
61
-
62
58
  "syntaxComment": "#688058",
63
59
  "syntaxKeyword": "#b86040",
64
60
  "syntaxFunction": "#c87850",
@@ -68,16 +64,13 @@
68
64
  "syntaxType": "#8a6848",
69
65
  "syntaxOperator": "#302820",
70
66
  "syntaxPunctuation": "#302820",
71
-
72
67
  "thinkingOff": "erosion",
73
68
  "thinkingMinimal": "#a89888",
74
69
  "thinkingLow": "#c87850",
75
70
  "thinkingMedium": "#b86040",
76
71
  "thinkingHigh": "#a05030",
77
72
  "thinkingXhigh": "#903020",
78
-
79
73
  "bashMode": "sage",
80
-
81
74
  "statusLineBg": "#ebe0d0",
82
75
  "statusLineSep": "#9a8878",
83
76
  "statusLineModel": "#a05030",
@@ -91,7 +84,8 @@
91
84
  "statusLineUntracked": 95,
92
85
  "statusLineOutput": 131,
93
86
  "statusLineCost": 131,
94
- "statusLineSubagents": "rust"
87
+ "statusLineSubagents": "rust",
88
+ "pythonMode": "amber"
95
89
  },
96
90
  "export": {
97
91
  "pageBg": "#f5ede3",