@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
@@ -86,7 +86,8 @@
86
86
  "statusLineUntracked": "blue",
87
87
  "statusLineOutput": "magenta",
88
88
  "statusLineCost": "orange",
89
- "statusLineSubagents": "blue"
89
+ "statusLineSubagents": "blue",
90
+ "pythonMode": "yellow"
90
91
  },
91
92
  "export": {
92
93
  "pageBg": "base03",
@@ -26,7 +26,6 @@
26
26
  "dim": "dim",
27
27
  "text": "",
28
28
  "thinkingText": "muted",
29
-
30
29
  "selectedBg": "#10182b",
31
30
  "userMessageBg": "#0c1222",
32
31
  "userMessageText": "",
@@ -38,7 +37,6 @@
38
37
  "toolErrorBg": "#1a1016",
39
38
  "toolTitle": "",
40
39
  "toolOutput": "muted",
41
-
42
40
  "mdHeading": "ice",
43
41
  "mdLink": "frost",
44
42
  "mdLinkUrl": "dim",
@@ -49,11 +47,9 @@
49
47
  "mdQuoteBorder": "deepBlue",
50
48
  "mdHr": "deepBlue",
51
49
  "mdListBullet": "aurora",
52
-
53
50
  "toolDiffAdded": "success",
54
51
  "toolDiffRemoved": "error",
55
52
  "toolDiffContext": "muted",
56
-
57
53
  "syntaxComment": "dim",
58
54
  "syntaxKeyword": "violet",
59
55
  "syntaxFunction": "ice",
@@ -63,16 +59,13 @@
63
59
  "syntaxType": "success",
64
60
  "syntaxOperator": "ice",
65
61
  "syntaxPunctuation": "ice",
66
-
67
62
  "thinkingOff": "midnight",
68
63
  "thinkingMinimal": "dim",
69
64
  "thinkingLow": "frost",
70
65
  "thinkingMedium": "aurora",
71
66
  "thinkingHigh": "ice",
72
67
  "thinkingXhigh": "#e4edf9",
73
-
74
68
  "bashMode": "aurora",
75
-
76
69
  "statusLineBg": "#0a101f",
77
70
  "statusLineSep": "#2a334a",
78
71
  "statusLineModel": "violet",
@@ -86,7 +79,8 @@
86
79
  "statusLineUntracked": "frost",
87
80
  "statusLineOutput": "ice",
88
81
  "statusLineCost": "aurora",
89
- "statusLineSubagents": "aurora"
82
+ "statusLineSubagents": "aurora",
83
+ "pythonMode": "#f0c040"
90
84
  },
91
85
  "export": {
92
86
  "pageBg": "#0a0f1c",
@@ -27,7 +27,6 @@
27
27
  "dim": "dim",
28
28
  "text": "",
29
29
  "thinkingText": "muted",
30
-
31
30
  "selectedBg": "#1a1e2a",
32
31
  "userMessageBg": "#0f1218",
33
32
  "userMessageText": "",
@@ -39,7 +38,6 @@
39
38
  "toolErrorBg": "#1c1115",
40
39
  "toolTitle": "",
41
40
  "toolOutput": "muted",
42
-
43
41
  "mdHeading": "spark",
44
42
  "mdLink": "blue",
45
43
  "mdLinkUrl": "dim",
@@ -50,11 +48,9 @@
50
48
  "mdQuoteBorder": "sky",
51
49
  "mdHr": "sky",
52
50
  "mdListBullet": "gold",
53
-
54
51
  "toolDiffAdded": "success",
55
52
  "toolDiffRemoved": "error",
56
53
  "toolDiffContext": "muted",
57
-
58
54
  "syntaxComment": "dim",
59
55
  "syntaxKeyword": "violet",
60
56
  "syntaxFunction": "gold",
@@ -64,16 +60,13 @@
64
60
  "syntaxType": "success",
65
61
  "syntaxOperator": "spark",
66
62
  "syntaxPunctuation": "spark",
67
-
68
63
  "thinkingOff": "night",
69
64
  "thinkingMinimal": "dim",
70
65
  "thinkingLow": "blue",
71
66
  "thinkingMedium": "violet",
72
67
  "thinkingHigh": "ember",
73
68
  "thinkingXhigh": "gold",
74
-
75
69
  "bashMode": "blue",
76
-
77
70
  "statusLineBg": "#0a0c10",
78
71
  "statusLineSep": "#2a2f3a",
79
72
  "statusLineModel": "gold",
@@ -87,7 +80,8 @@
87
80
  "statusLineUntracked": "blue",
88
81
  "statusLineOutput": "spark",
89
82
  "statusLineCost": "gold",
90
- "statusLineSubagents": "gold"
83
+ "statusLineSubagents": "gold",
84
+ "pythonMode": "gold"
91
85
  },
92
86
  "export": {
93
87
  "pageBg": "#0a0c10",
@@ -33,7 +33,6 @@
33
33
  "dim": "dimViolet",
34
34
  "text": "",
35
35
  "thinkingText": "duskGray",
36
-
37
36
  "selectedBg": "#2d2436",
38
37
  "userMessageBg": "#251a1f",
39
38
  "userMessageText": "",
@@ -46,7 +45,6 @@
46
45
  "toolText": "",
47
46
  "toolTitle": "",
48
47
  "toolOutput": "duskGray",
49
-
50
48
  "mdHeading": "golden",
51
49
  "mdLink": "violet",
52
50
  "mdLinkUrl": "dimViolet",
@@ -57,13 +55,10 @@
57
55
  "mdQuoteBorder": "twilightGray",
58
56
  "mdHr": "twilightGray",
59
57
  "mdListBullet": "accentGlow",
60
-
61
58
  "toolDiffAdded": "#89d281",
62
59
  "toolDiffRemoved": "emberRed",
63
60
  "toolDiffContext": "duskGray",
64
-
65
61
  "link": "violet",
66
-
67
62
  "syntaxComment": "#7a6f85",
68
63
  "syntaxKeyword": "violet",
69
64
  "syntaxFunction": "golden",
@@ -73,16 +68,13 @@
73
68
  "syntaxType": "magenta",
74
69
  "syntaxOperator": "#c9bdd0",
75
70
  "syntaxPunctuation": "#b3a8ba",
76
-
77
71
  "thinkingOff": "twilightGray",
78
72
  "thinkingMinimal": "dimViolet",
79
73
  "thinkingLow": "deepPurple",
80
74
  "thinkingMedium": "violet",
81
75
  "thinkingHigh": "magenta",
82
76
  "thinkingXhigh": "softPink",
83
-
84
77
  "bashMode": "horizonGlow",
85
-
86
78
  "statusLineBg": "#0f0a14",
87
79
  "statusLineSep": 237,
88
80
  "statusLineModel": "softPink",
@@ -96,7 +88,8 @@
96
88
  "statusLineUntracked": 213,
97
89
  "statusLineOutput": 205,
98
90
  "statusLineCost": 205,
99
- "statusLineSubagents": "golden"
91
+ "statusLineSubagents": "golden",
92
+ "pythonMode": "amber"
100
93
  },
101
94
  "export": {
102
95
  "pageBg": "#120d18",
@@ -26,7 +26,6 @@
26
26
  "dim": "dimMoss",
27
27
  "text": "",
28
28
  "thinkingText": "mossLight",
29
-
30
29
  "selectedBg": "peatGreen",
31
30
  "userMessageBg": "bogGreen",
32
31
  "userMessageText": "",
@@ -38,7 +37,6 @@
38
37
  "toolErrorBg": "#221313",
39
38
  "toolTitle": "",
40
39
  "toolOutput": "mossLight",
41
-
42
40
  "mdHeading": "fireflyGold",
43
41
  "mdLink": "swampCyan",
44
42
  "mdLinkUrl": "dimMoss",
@@ -49,11 +47,9 @@
49
47
  "mdQuoteBorder": "mossGray",
50
48
  "mdHr": "peatGreen",
51
49
  "mdListBullet": "fireflyGold",
52
-
53
50
  "toolDiffAdded": "algaeGreen",
54
51
  "toolDiffRemoved": "errorRed",
55
52
  "toolDiffContext": "mossLight",
56
-
57
53
  "syntaxComment": "dimMoss",
58
54
  "syntaxKeyword": "swampCyan",
59
55
  "syntaxFunction": "fireflyGold",
@@ -63,16 +59,13 @@
63
59
  "syntaxType": "swampCyan",
64
60
  "syntaxOperator": "mossLight",
65
61
  "syntaxPunctuation": "mossLight",
66
-
67
62
  "thinkingOff": "peatGreen",
68
63
  "thinkingMinimal": "dimMoss",
69
64
  "thinkingLow": "mossGray",
70
65
  "thinkingMedium": "swampCyan",
71
66
  "thinkingHigh": "fireflyGold",
72
67
  "thinkingXhigh": "algaeGreen",
73
-
74
68
  "bashMode": "swampCyan",
75
-
76
69
  "statusLineBg": "#080D0C",
77
70
  "statusLineSep": "mossGray",
78
71
  "statusLineModel": "fireflyGold",
@@ -86,7 +79,8 @@
86
79
  "statusLineUntracked": "mossLight",
87
80
  "statusLineOutput": "swampCyan",
88
81
  "statusLineCost": "fireflyGold",
89
- "statusLineSubagents": "fireflyGold"
82
+ "statusLineSubagents": "fireflyGold",
83
+ "pythonMode": "#f0c040"
90
84
  },
91
85
  "export": {
92
86
  "pageBg": "#080D0C",
@@ -92,7 +92,8 @@
92
92
  "statusLineUntracked": "hotPink",
93
93
  "statusLineOutput": "neonMagenta",
94
94
  "statusLineCost": "vaporPink",
95
- "statusLineSubagents": "hotPink"
95
+ "statusLineSubagents": "hotPink",
96
+ "pythonMode": "gold"
96
97
  },
97
98
  "export": {
98
99
  "pageBg": "#0c0c0c",
@@ -27,7 +27,6 @@
27
27
  "dim": "dimWolf",
28
28
  "text": "",
29
29
  "thinkingText": "wolfGray",
30
-
31
30
  "selectedBg": "shadowPine",
32
31
  "userMessageBg": "deepPine",
33
32
  "userMessageText": "",
@@ -39,7 +38,6 @@
39
38
  "toolErrorBg": "#201313",
40
39
  "toolTitle": "",
41
40
  "toolOutput": "wolfGray",
42
-
43
41
  "mdHeading": "snowWhite",
44
42
  "mdLink": "frostBlue",
45
43
  "mdLinkUrl": "dimWolf",
@@ -50,11 +48,9 @@
50
48
  "mdQuoteBorder": "spruce",
51
49
  "mdHr": "shadowPine",
52
50
  "mdListBullet": "auroraGreen",
53
-
54
51
  "toolDiffAdded": "lichenGreen",
55
52
  "toolDiffRemoved": "errorRed",
56
53
  "toolDiffContext": "wolfGray",
57
-
58
54
  "syntaxComment": "dimWolf",
59
55
  "syntaxKeyword": "frostBlue",
60
56
  "syntaxFunction": "emberAmber",
@@ -64,16 +60,13 @@
64
60
  "syntaxType": "frostBlue",
65
61
  "syntaxOperator": "wolfGray",
66
62
  "syntaxPunctuation": "wolfGray",
67
-
68
63
  "thinkingOff": "shadowPine",
69
64
  "thinkingMinimal": "dimWolf",
70
65
  "thinkingLow": "spruce",
71
66
  "thinkingMedium": "frostBlue",
72
67
  "thinkingHigh": "auroraGreen",
73
68
  "thinkingXhigh": "snowWhite",
74
-
75
69
  "bashMode": "auroraGreen",
76
-
77
70
  "statusLineBg": "#080C0A",
78
71
  "statusLineSep": "spruce",
79
72
  "statusLineModel": "snowWhite",
@@ -87,7 +80,8 @@
87
80
  "statusLineUntracked": "snowWhite",
88
81
  "statusLineOutput": "frostBlue",
89
82
  "statusLineCost": "emberAmber",
90
- "statusLineSubagents": "auroraGreen"
83
+ "statusLineSubagents": "auroraGreen",
84
+ "pythonMode": "#f0c040"
91
85
  },
92
86
  "export": {
93
87
  "pageBg": "#080C0A",
@@ -84,11 +84,12 @@
84
84
  "statusLineUntracked": 39,
85
85
  "statusLineOutput": 205,
86
86
  "statusLineCost": 205,
87
- "statusLineSubagents": "accent"
87
+ "statusLineSubagents": "accent",
88
+ "pythonMode": "yellow"
88
89
  },
89
90
  "export": {
90
91
  "pageBg": "#050505",
91
92
  "cardBg": "#0a0a0a",
92
93
  "infoBg": "#001100"
93
94
  }
94
- }
95
+ }
@@ -36,7 +36,6 @@
36
36
  "dim": "dimGray",
37
37
  "text": "",
38
38
  "thinkingText": "dimGray",
39
-
40
39
  "selectedBg": "selectedBg",
41
40
  "userMessageBg": "bgDark",
42
41
  "userMessageText": "",
@@ -48,7 +47,6 @@
48
47
  "toolErrorBg": "#291d1d",
49
48
  "toolTitle": "purple",
50
49
  "toolOutput": "dimGray",
51
-
52
50
  "mdHeading": "purple",
53
51
  "mdLink": "cyan",
54
52
  "mdLinkUrl": "dimGray",
@@ -59,13 +57,10 @@
59
57
  "mdQuoteBorder": "gray",
60
58
  "mdHr": "gray",
61
59
  "mdListBullet": "cyan",
62
-
63
60
  "toolDiffAdded": "green",
64
61
  "toolDiffRemoved": "red",
65
62
  "toolDiffContext": "comment",
66
-
67
63
  "link": "cyan",
68
-
69
64
  "syntaxComment": "comment",
70
65
  "syntaxKeyword": "purple",
71
66
  "syntaxFunction": "blue",
@@ -75,16 +70,13 @@
75
70
  "syntaxType": "cyan2",
76
71
  "syntaxOperator": "fg",
77
72
  "syntaxPunctuation": "fg",
78
-
79
73
  "thinkingOff": "gray",
80
74
  "thinkingMinimal": "dimGray",
81
75
  "thinkingLow": "blue",
82
76
  "thinkingMedium": "cyan",
83
77
  "thinkingHigh": "purple",
84
78
  "thinkingXhigh": "#c9a0ff",
85
-
86
79
  "bashMode": "cyan",
87
-
88
80
  "statusLineBg": "statusBg",
89
81
  "statusLineSep": 238,
90
82
  "statusLineModel": "purple",
@@ -98,7 +90,8 @@
98
90
  "statusLineUntracked": 39,
99
91
  "statusLineOutput": 205,
100
92
  "statusLineCost": 205,
101
- "statusLineSubagents": "orange"
93
+ "statusLineSubagents": "orange",
94
+ "pythonMode": "yellow"
102
95
  },
103
96
  "export": {
104
97
  "pageBg": "#16161e",
@@ -27,7 +27,6 @@
27
27
  "dim": "dimIce",
28
28
  "text": "",
29
29
  "thinkingText": "mutedIce",
30
-
31
30
  "selectedBg": "glacierBlue",
32
31
  "userMessageBg": "iceCave",
33
32
  "userMessageText": "",
@@ -39,7 +38,6 @@
39
38
  "toolErrorBg": "#211415",
40
39
  "toolTitle": "",
41
40
  "toolOutput": "mutedIce",
42
-
43
41
  "mdHeading": "iceWhite",
44
42
  "mdLink": "auroraGreen",
45
43
  "mdLinkUrl": "dimIce",
@@ -50,11 +48,9 @@
50
48
  "mdQuoteBorder": "coldBorder",
51
49
  "mdHr": "glacierBlue",
52
50
  "mdListBullet": "auroraGreen",
53
-
54
51
  "toolDiffAdded": "successGreen",
55
52
  "toolDiffRemoved": "errorRed",
56
53
  "toolDiffContext": "mutedIce",
57
-
58
54
  "syntaxComment": "dimIce",
59
55
  "syntaxKeyword": "auroraGreen",
60
56
  "syntaxFunction": "warningGold",
@@ -64,16 +60,13 @@
64
60
  "syntaxType": "auroraGreen",
65
61
  "syntaxOperator": "mutedIce",
66
62
  "syntaxPunctuation": "mutedIce",
67
-
68
63
  "thinkingOff": "glacierBlue",
69
64
  "thinkingMinimal": "dimIce",
70
65
  "thinkingLow": "coldBorder",
71
66
  "thinkingMedium": "auroraGreen",
72
67
  "thinkingHigh": "iceWhite",
73
68
  "thinkingXhigh": "warningGold",
74
-
75
69
  "bashMode": "auroraGreen",
76
-
77
70
  "statusLineBg": "#080B0E",
78
71
  "statusLineSep": "coldBorder",
79
72
  "statusLineModel": "iceWhite",
@@ -87,7 +80,8 @@
87
80
  "statusLineUntracked": "iceWhite",
88
81
  "statusLineOutput": "auroraGreen",
89
82
  "statusLineCost": "warningGold",
90
- "statusLineSubagents": "auroraGreen"
83
+ "statusLineSubagents": "auroraGreen",
84
+ "pythonMode": "#f0c040"
91
85
  },
92
86
  "export": {
93
87
  "pageBg": "#080B0E",
@@ -27,7 +27,6 @@
27
27
  "dim": "dim",
28
28
  "text": "",
29
29
  "thinkingText": "muted",
30
-
31
30
  "selectedBg": "#241f3f",
32
31
  "userMessageBg": "#171329",
33
32
  "userMessageText": "",
@@ -39,7 +38,6 @@
39
38
  "toolErrorBg": "#2b161b",
40
39
  "toolTitle": "",
41
40
  "toolOutput": "muted",
42
-
43
41
  "mdHeading": "afterglow",
44
42
  "mdLink": "teal",
45
43
  "mdLinkUrl": "dim",
@@ -50,11 +48,9 @@
50
48
  "mdQuoteBorder": "deepIndigo",
51
49
  "mdHr": "deepIndigo",
52
50
  "mdListBullet": "sunset",
53
-
54
51
  "toolDiffAdded": "success",
55
52
  "toolDiffRemoved": "error",
56
53
  "toolDiffContext": "muted",
57
-
58
54
  "syntaxComment": "dim",
59
55
  "syntaxKeyword": "violet",
60
56
  "syntaxFunction": "sunset",
@@ -64,16 +60,13 @@
64
60
  "syntaxType": "success",
65
61
  "syntaxOperator": "#c7bfd4",
66
62
  "syntaxPunctuation": "#c7bfd4",
67
-
68
63
  "thinkingOff": "indigo",
69
64
  "thinkingMinimal": "dim",
70
65
  "thinkingLow": "teal",
71
66
  "thinkingMedium": "violet",
72
67
  "thinkingHigh": "rose",
73
68
  "thinkingXhigh": "afterglow",
74
-
75
69
  "bashMode": "teal",
76
-
77
70
  "statusLineBg": "#121025",
78
71
  "statusLineSep": "#2c2644",
79
72
  "statusLineModel": "rose",
@@ -87,7 +80,8 @@
87
80
  "statusLineUntracked": "teal",
88
81
  "statusLineOutput": "afterglow",
89
82
  "statusLineCost": "sunset",
90
- "statusLineSubagents": "rose"
83
+ "statusLineSubagents": "rose",
84
+ "pythonMode": "#f0c040"
91
85
  },
92
86
  "export": {
93
87
  "pageBg": "#0f0e21",
@@ -27,7 +27,6 @@
27
27
  "dim": "dimAsh",
28
28
  "text": "",
29
29
  "thinkingText": "ashGray",
30
-
31
30
  "selectedBg": "lavaRock",
32
31
  "userMessageBg": "craterDark",
33
32
  "userMessageText": "",
@@ -39,7 +38,6 @@
39
38
  "toolErrorBg": "#24100E",
40
39
  "toolTitle": "",
41
40
  "toolOutput": "ashGray",
42
-
43
41
  "mdHeading": "emberGold",
44
42
  "mdLink": "magmaOrange",
45
43
  "mdLinkUrl": "dimAsh",
@@ -50,11 +48,9 @@
50
48
  "mdQuoteBorder": "emberBorder",
51
49
  "mdHr": "lavaRock",
52
50
  "mdListBullet": "magmaOrange",
53
-
54
51
  "toolDiffAdded": "mossGreen",
55
52
  "toolDiffRemoved": "fireRed",
56
53
  "toolDiffContext": "ashGray",
57
-
58
54
  "syntaxComment": "dimAsh",
59
55
  "syntaxKeyword": "magmaOrange",
60
56
  "syntaxFunction": "emberGold",
@@ -64,16 +60,13 @@
64
60
  "syntaxType": "obsidianBlue",
65
61
  "syntaxOperator": "ashGray",
66
62
  "syntaxPunctuation": "ashGray",
67
-
68
63
  "thinkingOff": "lavaRock",
69
64
  "thinkingMinimal": "dimAsh",
70
65
  "thinkingLow": "emberBorder",
71
66
  "thinkingMedium": "magmaOrange",
72
67
  "thinkingHigh": "sulfurYellow",
73
68
  "thinkingXhigh": "emberGold",
74
-
75
69
  "bashMode": "magmaOrange",
76
-
77
70
  "statusLineBg": "#0B0706",
78
71
  "statusLineSep": "emberBorder",
79
72
  "statusLineModel": "emberGold",
@@ -87,7 +80,8 @@
87
80
  "statusLineUntracked": "obsidianBlue",
88
81
  "statusLineOutput": "emberGold",
89
82
  "statusLineCost": "sulfurYellow",
90
- "statusLineSubagents": "magmaOrange"
83
+ "statusLineSubagents": "magmaOrange",
84
+ "pythonMode": "#f0c040"
91
85
  },
92
86
  "export": {
93
87
  "pageBg": "#0B0706",
@@ -27,7 +27,6 @@
27
27
  "dim": "coolLead",
28
28
  "text": "",
29
29
  "thinkingText": "smudgeGray",
30
-
31
30
  "selectedBg": "selectedStroke",
32
31
  "userMessageBg": "#1a1c1f",
33
32
  "userMessageText": "",
@@ -39,7 +38,6 @@
39
38
  "toolErrorBg": "#28232a",
40
39
  "toolTitle": "",
41
40
  "toolOutput": "smudgeGray",
42
-
43
41
  "mdHeading": "pencilYellow",
44
42
  "mdLink": "lightSmudge",
45
43
  "mdLinkUrl": "coolLead",
@@ -50,13 +48,10 @@
50
48
  "mdQuoteBorder": "faintStroke",
51
49
  "mdHr": "pencilStroke",
52
50
  "mdListBullet": "pencilYellow",
53
-
54
51
  "toolDiffAdded": "#85a882",
55
52
  "toolDiffRemoved": "#d88989",
56
53
  "toolDiffContext": "smudgeGray",
57
-
58
54
  "link": "lightSmudge",
59
-
60
55
  "syntaxComment": "#6b7080",
61
56
  "syntaxKeyword": "lightSmudge",
62
57
  "syntaxFunction": "pencilYellow",
@@ -66,16 +61,13 @@
66
61
  "syntaxType": "coolLead",
67
62
  "syntaxOperator": "#c0c4ca",
68
63
  "syntaxPunctuation": "#a8adb8",
69
-
70
64
  "thinkingOff": "faintStroke",
71
65
  "thinkingMinimal": "smudgeGray",
72
66
  "thinkingLow": "coolLead",
73
67
  "thinkingMedium": "lightSmudge",
74
68
  "thinkingHigh": "warmLead",
75
69
  "thinkingXhigh": "pencilYellow",
76
-
77
70
  "bashMode": "lightSmudge",
78
-
79
71
  "statusLineBg": "#18191c",
80
72
  "statusLineSep": 240,
81
73
  "statusLineModel": "#9098a8",
@@ -89,7 +81,8 @@
89
81
  "statusLineUntracked": 246,
90
82
  "statusLineOutput": 222,
91
83
  "statusLineCost": 222,
92
- "statusLineSubagents": "pencilYellow"
84
+ "statusLineSubagents": "pencilYellow",
85
+ "pythonMode": "#f0c040"
93
86
  },
94
87
  "export": {
95
88
  "pageBg": "#1c1e22",
@@ -96,7 +96,8 @@
96
96
  "statusLineUntracked": 109,
97
97
  "statusLineOutput": 139,
98
98
  "statusLineCost": 139,
99
- "statusLineSubagents": "frost1"
99
+ "statusLineSubagents": "frost1",
100
+ "pythonMode": "#f0c040"
100
101
  },
101
102
  "export": {
102
103
  "pageBg": "#FAFBFC",
@@ -27,7 +27,6 @@
27
27
  "dim": "dim",
28
28
  "text": "",
29
29
  "thinkingText": "muted",
30
-
31
30
  "selectedBg": "#eef6f5",
32
31
  "userMessageBg": "#ffffff",
33
32
  "userMessageText": "",
@@ -39,7 +38,6 @@
39
38
  "toolErrorBg": "#f9eef0",
40
39
  "toolTitle": "",
41
40
  "toolOutput": "muted",
42
-
43
41
  "mdHeading": "mint",
44
42
  "mdLink": "sky",
45
43
  "mdLinkUrl": "dim",
@@ -50,11 +48,9 @@
50
48
  "mdQuoteBorder": "ice",
51
49
  "mdHr": "ice",
52
50
  "mdListBullet": "rose",
53
-
54
51
  "toolDiffAdded": "success",
55
52
  "toolDiffRemoved": "error",
56
53
  "toolDiffContext": "muted",
57
-
58
54
  "syntaxComment": "dim",
59
55
  "syntaxKeyword": "sky",
60
56
  "syntaxFunction": "mint",
@@ -64,16 +60,13 @@
64
60
  "syntaxType": "success",
65
61
  "syntaxOperator": "ink",
66
62
  "syntaxPunctuation": "ink",
67
-
68
63
  "thinkingOff": "#dfe9ea",
69
64
  "thinkingMinimal": "dim",
70
65
  "thinkingLow": "glow",
71
66
  "thinkingMedium": "mint",
72
67
  "thinkingHigh": "sky",
73
68
  "thinkingXhigh": "rose",
74
-
75
69
  "bashMode": "sky",
76
-
77
70
  "statusLineBg": "#f1f6f6",
78
71
  "statusLineSep": "#c9d6d6",
79
72
  "statusLineModel": "mint",
@@ -87,7 +80,8 @@
87
80
  "statusLineUntracked": "sky",
88
81
  "statusLineOutput": "ink",
89
82
  "statusLineCost": "rose",
90
- "statusLineSubagents": "mint"
83
+ "statusLineSubagents": "mint",
84
+ "pythonMode": "#f0c040"
91
85
  },
92
86
  "export": {
93
87
  "pageBg": "#fbfcfd",