jaitus 0.3.18 → 0.3.20

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/src/ui.js CHANGED
@@ -80,26 +80,26 @@ const BASE_TOKENS = {
80
80
  blue: [34, 39], magenta: [35, 39], cyan: [36, 39], grey: [90, 39],
81
81
  };
82
82
 
83
- // Jaitus site palette: brand coral rgb(255 107 74), accent teal rgb(32 168 152).
84
- // The chrome is coral + teal everywhere; red/yellow stay purely semantic
85
- // (errors/warnings), so the product never reads as another orange CLI.
83
+ // Jaitus site palette: brand mint rgb(61 242 176), accent teal rgb(45 212 191).
84
+ // The chrome is mint + teal everywhere; red/yellow stay purely semantic
85
+ // (errors/warnings), so a screen with no red on it has nothing wrong.
86
86
  export const THEMES = {
87
87
  dark: {
88
- // 208 is the deep-orange 256 step; red stays reserved for errors.
89
- ...BASE_TOKENS, brand: '38;5;208', permission: '38;5;214', shimmer: '38;5;217', accent: '38;5;36',
88
+ // 85 (#5fffaf) is the nearest 256 step to the site mint; 158 its lighter twin.
89
+ ...BASE_TOKENS, brand: '38;5;85', permission: '38;5;214', shimmer: '38;5;158', accent: '38;5;43',
90
90
  // opencode parity: assistant prose sits on the bare background — only
91
91
  // user panels wear a fill. toolBg was already null; memoryBg stays.
92
92
  userBg: '48;5;236', assistantBg: null, toolBg: null, memoryBg: '48;5;235', errorBg: '48;5;52',
93
93
  },
94
94
  light: {
95
- ...BASE_TOKENS, brand: '31', permission: '34', grey: [30, 39], dim: [2, 22], shimmer: '38;5;217', accent: '36',
95
+ ...BASE_TOKENS, brand: '38;5;29', permission: '34', grey: [30, 39], dim: [2, 22], shimmer: '38;5;72', accent: '36',
96
96
  userBg: '48;5;254', assistantBg: null, toolBg: null, memoryBg: '48;5;253', errorBg: '48;5;224',
97
97
  },
98
98
  daltonized: {
99
99
  ...BASE_TOKENS, brand: '34', permission: '33', green: [36, 39], shimmer: '38;5;153', accent: '36',
100
100
  userBg: '48;5;236', assistantBg: null, toolBg: null, memoryBg: '48;5;235', errorBg: '48;5;52',
101
101
  },
102
- // Teal-forward dark: the site accent leads, coral stays for the brand mark.
102
+ // Cyan-forward dark: an alternative for people who prefer a cooler accent.
103
103
  ocean: {
104
104
  ...BASE_TOKENS, brand: '38;5;45', permission: '38;5;214', shimmer: '38;5;159', accent: '38;5;51',
105
105
  userBg: '48;5;236', assistantBg: null, toolBg: null, memoryBg: '48;5;235', errorBg: '48;5;52',
@@ -184,7 +184,7 @@ export const c = {
184
184
  shimmer: paint('shimmer'),
185
185
  // Site accent teal: the go/confirm voice (ok checks, accept-edits chrome).
186
186
  accent: paint('accent'),
187
- // Jaitus coral, matching the site. Degrades to yellow on a sixteen-colour terminal
187
+ // Jaitus mint, matching the site. Degrades to green on a sixteen-colour terminal
188
188
  // rather than to nothing, so the accent still reads.
189
189
  brand: (s) => {
190
190
  const level = colorLevel();
@@ -193,10 +193,10 @@ export const c = {
193
193
  if (codes == null) return String(s);
194
194
  if (Array.isArray(codes)) return `\x1b[${codes[0]}m${s}\x1b[${codes[1]}m`;
195
195
  if (level >= 2 && /;/.test(String(codes))) return `\x1b[${codes}m${s}\x1b[39m`;
196
- // Sixteen colors have no orange: red is the closest readable brand stand-in
196
+ // Sixteen colors have no mint: green is the closest readable brand stand-in
197
197
  // on both dark and light grounds (daltonized keeps its blue).
198
198
  if (themeName() === 'daltonized') return `\x1b[34m${s}\x1b[39m`;
199
- return `\x1b[31m${s}\x1b[39m`;
199
+ return `\x1b[32m${s}\x1b[39m`;
200
200
  },
201
201
  // Permission dialogs draw their own border colour so they stand out from the
202
202
  // input box. Amber, degrading to plain yellow on sixteen colours.
@@ -276,7 +276,7 @@ export function spinner(text) {
276
276
  // fire, or it erases the line the answer was just printed on — the model appears to
277
277
  // have said nothing.
278
278
  let stopped = false;
279
- // Shimmer sweep (§8.1): the coral frame and a lighter twin trade across ticks.
279
+ // Shimmer sweep (§8.1): the mint frame and a lighter twin trade across ticks.
280
280
  const sweep = (text, tick) => {
281
281
  const chars = [...String(text)];
282
282
  const half = Math.max(1, Math.ceil(chars.length / 2));