@kolisachint/hoocode-agent 0.5.5 → 0.5.6

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,53 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.5.6] - 2026-08-12
4
+
5
+ ### Changed
6
+
7
+ - **The default `light` theme now uses saturated, deep hues instead of pastels.**
8
+ Its colors were pale enough to blur into the grays around them on a light
9
+ terminal: `success` and `bashMode` were a 20%-saturation sage, `error` a dusty
10
+ rose, `thinkingHigh` and `mcp` near-gray mauves, and almost every token sat at
11
+ 4.0–4.9:1 against the page. Every hue is now 65%+ saturated, every foreground
12
+ clears WCAG AA (4.5:1) on all six message/tool surfaces plus the export
13
+ canvases, and rules and inactive chrome (`borderMuted`, `mdHr`,
14
+ `thinkingOff`) went from a near-invisible 2.0:1 to 3.0:1. The tool-state
15
+ backgrounds are tinted far enough apart to tell pending, success, and error
16
+ apart at a glance, and unlanguaged code blocks render as dark ink rather than
17
+ green so syntax highlighting carries the color. `test/theme-contrast.test.ts`
18
+ enforces both the contrast floor and the saturation floor.
19
+ - **The six accessible themes no longer paint different things the same color.**
20
+ They all cleared AAA, but contrast says nothing about whether two tokens read
21
+ as the *same* color, and crushing a palette dark enough to clear 7:1 on white
22
+ is exactly what collapses distinct hues together. Measured with CIEDE2000,
23
+ `mcp` was byte-identical to an agent color in three themes — an MCP row and a
24
+ subagent row in the same task panel drew their tags in one color — and the two
25
+ quietest thinking levels were 2.0-2.6 apart, below the threshold where they
26
+ read as different at all. Every group a user reads against itself (core UI,
27
+ the agent palette, syntax, thinking levels, diff) now holds ΔE 11 or better,
28
+ up from 0.0 at worst.
29
+ - **`colorsafe-light` now delivers what its name promises.** It picked
30
+ color-blind-safe hues, but those palettes lean on lightness differences and
31
+ darkening every token for AAA removed exactly that. Simulated, `error` and
32
+ `warning` were ΔE 2.8 apart under deuteranopia, `syntaxFunction` and
33
+ `syntaxNumber` were identical, and an added diff line was ΔE 3.1 from
34
+ unchanged context. Its palette is rebuilt on blue/violet/magenta, where every
35
+ semantic pair now holds ΔE 12 or better under all three dichromat
36
+ simulations. The theme's `vars` are renamed to describe the colors they
37
+ actually hold, and its description no longer claims Okabe-Ito hues.
38
+
39
+ ### Known limitations
40
+
41
+ - `colorsafe-dark` still shares one color between `mcp` and `agent2`. Six agent
42
+ identities already spend the color-blind-safe hues available at AAA on a dark
43
+ ground, and every remaining candidate degenerates to near-white, which reads
44
+ as plain text. Tracked in `theme-contrast.test.ts` rather than papered over.
45
+ - In 256-color terminals (Apple Terminal, GNU screen), `warm-light` draws
46
+ `accent` and `warning` with the same palette index. The 6x6x6 cube has almost
47
+ no resolution below channel value 135, so any palette dark enough for AAA on
48
+ white loses distinctions there. The default `light` theme is checked against
49
+ this and stays clear; the AAA themes cannot be.
50
+
3
51
  ## [0.5.5] - 2026-08-10
4
52
 
5
53
  ### Added
@@ -72,7 +72,7 @@
72
72
  "syntaxPunctuation": "paleGray",
73
73
 
74
74
  "thinkingOff": "dimGray",
75
- "thinkingMinimal": "gray",
75
+ "thinkingMinimal": "#d2dcec",
76
76
  "thinkingLow": "blue",
77
77
  "thinkingMedium": "sky",
78
78
  "thinkingHigh": "orange",
@@ -1,19 +1,18 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/kolisachint/hoocode/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
3
3
  "name": "colorsafe-light",
4
- "description": "Low vision + color blindness: Okabe-Ito hues on white, no red/green pairs",
4
+ "description": "Low vision + color blindness: blue/violet/magenta on white, no red/green pairs",
5
5
  "vars": {
6
6
  "ink": "#101010",
7
- "inkSoft": "#242424",
8
- "gray": "#3d3d3d",
9
- "dimGray": "#454545",
10
- "sky": "#0c4868",
11
- "blue": "#00446e",
12
- "bluishGreen": "#004c3a",
13
- "olive": "#4a4200",
14
- "orange": "#543c00",
15
- "vermillion": "#703000",
16
- "purple": "#73245a",
7
+ "inkSoft": "#171717",
8
+ "gray": "#232323",
9
+ "dimGray": "#4a4a4a",
10
+ "blue": "#0a0af0",
11
+ "violet": "#42057f",
12
+ "green": "#023621",
13
+ "olive": "#584704",
14
+ "plum": "#4e033f",
15
+ "magenta": "#871275",
17
16
  "selectedBg": "#dfe6f2",
18
17
  "userMsgBg": "#f2f3f5",
19
18
  "customMsgBg": "#f5f0f4",
@@ -22,12 +21,12 @@
22
21
  "toolErrorBg": "#f9f0ea"
23
22
  },
24
23
  "colors": {
25
- "accent": "sky",
26
- "border": "blue",
27
- "borderAccent": "sky",
24
+ "accent": "blue",
25
+ "border": "violet",
26
+ "borderAccent": "blue",
28
27
  "borderMuted": "dimGray",
29
- "success": "bluishGreen",
30
- "error": "vermillion",
28
+ "success": "green",
29
+ "error": "magenta",
31
30
  "warning": "olive",
32
31
  "muted": "gray",
33
32
  "dim": "dimGray",
@@ -39,7 +38,7 @@
39
38
  "userMessageText": "ink",
40
39
  "customMessageBg": "customMsgBg",
41
40
  "customMessageText": "ink",
42
- "customMessageLabel": "purple",
41
+ "customMessageLabel": "plum",
43
42
  "toolPendingBg": "toolPendingBg",
44
43
  "toolSuccessBg": "toolSuccessBg",
45
44
  "toolErrorBg": "toolErrorBg",
@@ -47,46 +46,46 @@
47
46
  "toolOutput": "gray",
48
47
 
49
48
  "mdHeading": "olive",
50
- "mdLink": "blue",
49
+ "mdLink": "violet",
51
50
  "mdLinkUrl": "dimGray",
52
- "mdCode": "sky",
51
+ "mdCode": "blue",
53
52
  "mdCodeBlock": "inkSoft",
54
53
  "mdCodeBlockBorder": "dimGray",
55
54
  "mdQuote": "gray",
56
- "mdQuoteBorder": "orange",
55
+ "mdQuoteBorder": "plum",
57
56
  "mdHr": "dimGray",
58
- "mdListBullet": "sky",
57
+ "mdListBullet": "blue",
59
58
 
60
- "toolDiffAdded": "bluishGreen",
61
- "toolDiffRemoved": "vermillion",
59
+ "toolDiffAdded": "green",
60
+ "toolDiffRemoved": "magenta",
62
61
  "toolDiffContext": "dimGray",
63
62
 
64
63
  "syntaxComment": "dimGray",
65
64
  "syntaxKeyword": "blue",
66
65
  "syntaxFunction": "olive",
67
- "syntaxVariable": "sky",
68
- "syntaxString": "bluishGreen",
69
- "syntaxNumber": "orange",
70
- "syntaxType": "purple",
66
+ "syntaxVariable": "violet",
67
+ "syntaxString": "green",
68
+ "syntaxNumber": "magenta",
69
+ "syntaxType": "plum",
71
70
  "syntaxOperator": "inkSoft",
72
71
  "syntaxPunctuation": "inkSoft",
73
72
 
74
73
  "thinkingOff": "dimGray",
75
74
  "thinkingMinimal": "gray",
76
- "thinkingLow": "blue",
77
- "thinkingMedium": "sky",
78
- "thinkingHigh": "orange",
79
- "thinkingXhigh": "purple",
75
+ "thinkingLow": "violet",
76
+ "thinkingMedium": "blue",
77
+ "thinkingHigh": "olive",
78
+ "thinkingXhigh": "magenta",
80
79
 
81
- "bashMode": "bluishGreen",
80
+ "bashMode": "green",
82
81
 
83
- "agent1": "sky",
84
- "agent2": "purple",
85
- "agent3": "orange",
86
- "agent4": "bluishGreen",
87
- "agent5": "blue",
88
- "agent6": "vermillion",
89
- "mcp": "purple"
82
+ "agent1": "#00382d",
83
+ "agent2": "#830745",
84
+ "agent3": "#395200",
85
+ "agent4": "#0000f5",
86
+ "agent5": "#621197",
87
+ "agent6": "#262e05",
88
+ "mcp": "#570557"
90
89
  },
91
90
  "export": {
92
91
  "pageBg": "#ffffff",
@@ -68,7 +68,7 @@
68
68
  "syntaxComment": "lime",
69
69
  "syntaxKeyword": "blue",
70
70
  "syntaxFunction": "#ffe082",
71
- "syntaxVariable": "#b3e5fc",
71
+ "syntaxVariable": "#cfd8ff",
72
72
  "syntaxString": "#ffab91",
73
73
  "syntaxNumber": "lilac",
74
74
  "syntaxType": "mint",
@@ -76,7 +76,7 @@
76
76
  "syntaxPunctuation": "paleGray",
77
77
 
78
78
  "thinkingOff": "dimGray",
79
- "thinkingMinimal": "gray",
79
+ "thinkingMinimal": "#d8e2ee",
80
80
  "thinkingLow": "blue",
81
81
  "thinkingMedium": "cyan",
82
82
  "thinkingHigh": "orange",
@@ -90,7 +90,7 @@
90
90
  "agent4": "pink",
91
91
  "agent5": "green",
92
92
  "agent6": "blue",
93
- "mcp": "#e0b0ff"
93
+ "mcp": "#e8dbff"
94
94
  },
95
95
  "export": {
96
96
  "pageBg": "#000000",
@@ -5,8 +5,8 @@
5
5
  "vars": {
6
6
  "ink": "#000000",
7
7
  "inkSoft": "#1a1a1a",
8
- "gray": "#3d3d3d",
9
- "dimGray": "#454545",
8
+ "gray": "#262626",
9
+ "dimGray": "#4a4a4a",
10
10
  "blue": "#0b3d91",
11
11
  "teal": "#00474a",
12
12
  "green": "#14521a",
@@ -81,13 +81,13 @@
81
81
 
82
82
  "bashMode": "green",
83
83
 
84
- "agent1": "teal",
85
- "agent2": "purple",
86
- "agent3": "orange",
87
- "agent4": "magenta",
88
- "agent5": "green",
89
- "agent6": "blue",
90
- "mcp": "magenta"
84
+ "agent1": "#003333",
85
+ "agent2": "#980606",
86
+ "agent3": "#573d00",
87
+ "agent4": "#57002b",
88
+ "agent5": "#084d00",
89
+ "agent6": "#004080",
90
+ "mcp": "#7707a6"
91
91
  },
92
92
  "export": {
93
93
  "pageBg": "#ffffff",
@@ -3,20 +3,24 @@
3
3
  "name": "light",
4
4
  "description": "Default light theme",
5
5
  "vars": {
6
- "teal": "#0e857a",
7
- "blue": "#547da7",
8
- "green": "#588458",
9
- "red": "#aa5555",
10
- "yellow": "#9a7326",
11
- "mediumGray": "#6c6c6c",
12
- "dimGray": "#767676",
13
- "lightGray": "#b0b0b0",
14
- "selectedBg": "#d0d0e0",
15
- "userMsgBg": "#f0f0f0",
16
- "toolPendingBg": "#f0f0f5",
17
- "toolSuccessBg": "#f0f5f0",
18
- "toolErrorBg": "#f5f0f0",
19
- "customMsgBg": "#f2f0f7"
6
+ "teal": "#036c66",
7
+ "blue": "#0b57d0",
8
+ "green": "#0a7028",
9
+ "red": "#c1121f",
10
+ "amber": "#7d5700",
11
+ "purple": "#6d28d9",
12
+ "orange": "#b5340e",
13
+ "magenta": "#9c1a9c",
14
+ "ink": "#2b2f36",
15
+ "mediumGray": "#5a5a5a",
16
+ "dimGray": "#626262",
17
+ "lightGray": "#828282",
18
+ "selectedBg": "#d6e4fa",
19
+ "userMsgBg": "#edeff3",
20
+ "toolPendingBg": "#eaeef8",
21
+ "toolSuccessBg": "#e6f4ea",
22
+ "toolErrorBg": "#fbeaea",
23
+ "customMsgBg": "#f1ebfb"
20
24
  },
21
25
  "colors": {
22
26
  "accent": "teal",
@@ -25,7 +29,7 @@
25
29
  "borderMuted": "lightGray",
26
30
  "success": "green",
27
31
  "error": "red",
28
- "warning": "yellow",
32
+ "warning": "amber",
29
33
  "muted": "mediumGray",
30
34
  "dim": "dimGray",
31
35
  "text": "",
@@ -36,58 +40,58 @@
36
40
  "userMessageText": "",
37
41
  "customMessageBg": "customMsgBg",
38
42
  "customMessageText": "",
39
- "customMessageLabel": "#7e57c2",
43
+ "customMessageLabel": "purple",
40
44
  "toolPendingBg": "toolPendingBg",
41
45
  "toolSuccessBg": "toolSuccessBg",
42
46
  "toolErrorBg": "toolErrorBg",
43
47
  "toolTitle": "",
44
48
  "toolOutput": "mediumGray",
45
49
 
46
- "mdHeading": "yellow",
50
+ "mdHeading": "amber",
47
51
  "mdLink": "blue",
48
52
  "mdLinkUrl": "dimGray",
49
53
  "mdCode": "teal",
50
- "mdCodeBlock": "green",
54
+ "mdCodeBlock": "ink",
51
55
  "mdCodeBlockBorder": "mediumGray",
52
56
  "mdQuote": "mediumGray",
53
- "mdQuoteBorder": "mediumGray",
54
- "mdHr": "mediumGray",
55
- "mdListBullet": "green",
57
+ "mdQuoteBorder": "amber",
58
+ "mdHr": "lightGray",
59
+ "mdListBullet": "teal",
56
60
 
57
61
  "toolDiffAdded": "green",
58
62
  "toolDiffRemoved": "red",
59
63
  "toolDiffContext": "mediumGray",
60
64
 
61
- "syntaxComment": "#008000",
62
- "syntaxKeyword": "#0000FF",
63
- "syntaxFunction": "#795E26",
64
- "syntaxVariable": "#001080",
65
- "syntaxString": "#A31515",
66
- "syntaxNumber": "#098658",
67
- "syntaxType": "#267F99",
68
- "syntaxOperator": "#000000",
69
- "syntaxPunctuation": "#000000",
65
+ "syntaxComment": "#2d6b28",
66
+ "syntaxKeyword": "#0b57d0",
67
+ "syntaxFunction": "#8c4a00",
68
+ "syntaxVariable": "#0d2f80",
69
+ "syntaxString": "#a31515",
70
+ "syntaxNumber": "#046b53",
71
+ "syntaxType": "#0b6e80",
72
+ "syntaxOperator": "#2b2f36",
73
+ "syntaxPunctuation": "#2b2f36",
70
74
 
71
75
  "thinkingOff": "lightGray",
72
- "thinkingMinimal": "#767676",
76
+ "thinkingMinimal": "dimGray",
73
77
  "thinkingLow": "blue",
74
78
  "thinkingMedium": "teal",
75
- "thinkingHigh": "#875f87",
76
- "thinkingXhigh": "#8b008b",
79
+ "thinkingHigh": "orange",
80
+ "thinkingXhigh": "magenta",
77
81
 
78
82
  "bashMode": "green",
79
83
 
80
- "agent1": "#0b7285",
81
- "agent2": "#9c36b5",
82
- "agent3": "#d9480f",
83
- "agent4": "#c2255c",
84
- "agent5": "#087f5b",
85
- "agent6": "#3b5bdb",
86
- "mcp": "#8f6b9a"
84
+ "agent1": "#0b6e80",
85
+ "agent2": "#8e24aa",
86
+ "agent3": "#b5340e",
87
+ "agent4": "#b01e51",
88
+ "agent5": "#06694b",
89
+ "agent6": "#2544c9",
90
+ "mcp": "#300c6e"
87
91
  },
88
92
  "export": {
89
93
  "pageBg": "#f8f8f8",
90
94
  "cardBg": "#ffffff",
91
- "infoBg": "#fffae6"
95
+ "infoBg": "#fff4d6"
92
96
  }
93
97
  }
@@ -8,7 +8,7 @@
8
8
  "sand": "#d6c8b8",
9
9
  "clay": "#c6b8a8",
10
10
  "amber": "#ffc46b",
11
- "honey": "#ffd98a",
11
+ "honey": "#ffe9a0",
12
12
  "terracotta": "#ffb08a",
13
13
  "rose": "#ff9a8b",
14
14
  "moss": "#b5e07a",
@@ -74,7 +74,7 @@
74
74
  "syntaxPunctuation": "paperDim",
75
75
 
76
76
  "thinkingOff": "clay",
77
- "thinkingMinimal": "sand",
77
+ "thinkingMinimal": "#f4e2c2",
78
78
  "thinkingLow": "teal",
79
79
  "thinkingMedium": "amber",
80
80
  "thinkingHigh": "terracotta",
@@ -88,7 +88,7 @@
88
88
  "agent4": "teal",
89
89
  "agent5": "moss",
90
90
  "agent6": "lilac",
91
- "mcp": "lilac"
91
+ "mcp": "#ffdbed"
92
92
  },
93
93
  "export": {
94
94
  "pageBg": "#100c09",
@@ -5,13 +5,13 @@
5
5
  "vars": {
6
6
  "ink": "#2b1d0e",
7
7
  "inkSoft": "#3a2a18",
8
- "bark": "#463a2d",
9
- "clay": "#4c4032",
10
- "brown": "#5a3a12",
11
- "rust": "#7d1c0a",
8
+ "bark": "#241d14",
9
+ "clay": "#4c4034",
10
+ "brown": "#6b3a00",
11
+ "rust": "#8a0f14",
12
12
  "forest": "#224a17",
13
13
  "teal": "#0d4d49",
14
- "amber": "#5f3e00",
14
+ "amber": "#514608",
15
15
  "plum": "#5c2a5e",
16
16
  "indigo": "#1f3f8f",
17
17
  "selectedBg": "#eee0c4",
@@ -80,13 +80,13 @@
80
80
 
81
81
  "bashMode": "forest",
82
82
 
83
- "agent1": "brown",
84
- "agent2": "plum",
85
- "agent3": "rust",
86
- "agent4": "teal",
87
- "agent5": "forest",
88
- "agent6": "indigo",
89
- "mcp": "plum"
83
+ "agent1": "#023636",
84
+ "agent2": "#8a1c00",
85
+ "agent3": "#382905",
86
+ "agent4": "#570038",
87
+ "agent5": "#1b5303",
88
+ "agent6": "#004080",
89
+ "mcp": "#7307a2"
90
90
  },
91
91
  "export": {
92
92
  "pageBg": "#fffdf7",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kolisachint/hoocode-extension-custom-provider-anthropic",
3
3
  "private": true,
4
- "version": "0.3.5",
4
+ "version": "0.3.6",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "bun": ">=1.0.0"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kolisachint/hoocode-extension-custom-provider-gitlab-duo",
3
3
  "private": true,
4
- "version": "0.3.5",
4
+ "version": "0.3.6",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "bun": ">=1.0.0"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kolisachint/hoocode-extension-sandbox",
3
3
  "private": true,
4
- "version": "0.3.5",
4
+ "version": "0.3.6",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "bun": ">=1.0.0"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kolisachint/hoocode-extension-with-deps",
3
3
  "private": true,
4
- "version": "0.3.5",
4
+ "version": "0.3.6",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "bun": ">=1.0.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolisachint/hoocode-agent",
3
- "version": "0.5.5",
3
+ "version": "0.5.6",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "hoocodeConfig": {
@@ -49,9 +49,9 @@
49
49
  "prepublishOnly": "npm run clean && npm run build"
50
50
  },
51
51
  "dependencies": {
52
- "@kolisachint/hoocode-agent-core": "^0.5.5",
53
- "@kolisachint/hoocode-ai": "^0.5.5",
54
- "@kolisachint/hoocode-tui": "^0.5.5",
52
+ "@kolisachint/hoocode-agent-core": "^0.5.6",
53
+ "@kolisachint/hoocode-ai": "^0.5.6",
54
+ "@kolisachint/hoocode-tui": "^0.5.6",
55
55
  "@silvia-odwyer/photon-node": "^0.3.4",
56
56
  "chalk": "^5.5.0",
57
57
  "cli-highlight": "^2.1.11",