codeep 1.2.83 → 1.2.84

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.
@@ -4,27 +4,12 @@
4
4
  */
5
5
  import { Screen } from './Screen.js';
6
6
  import { Input, LineEditor } from './Input.js';
7
- import { fg, style, stringWidth, gradientText, gradientLine } from './ansi.js';
7
+ import { fg, style, stringWidth } from './ansi.js';
8
8
  import { SYNTAX, highlightCode } from './highlight.js';
9
9
  import { handleInlineStatusKey, handleInlineHelpKey, handleMenuKey, handleInlinePermissionKey, handleInlineSessionPickerKey, handleInlineConfirmKey, handleLoginKey, } from './handlers.js';
10
10
  import clipboardy from 'clipboardy';
11
11
  // Primary color: #f02a30 (Codeep red)
12
12
  const PRIMARY_COLOR = fg.rgb(240, 42, 48);
13
- // Gradient stops: deep red → codeep red → orange → amber
14
- // Used for separator lines and accent elements
15
- const GRADIENT_STOPS = [
16
- [160, 20, 30], // deep red
17
- [240, 42, 48], // Codeep red
18
- [240, 100, 30], // orange-red
19
- [240, 160, 20], // amber
20
- ];
21
- // Dimmer gradient for subtle separators (half brightness)
22
- const GRADIENT_STOPS_DIM = [
23
- [80, 10, 15],
24
- [140, 25, 28],
25
- [140, 60, 18],
26
- [140, 90, 12],
27
- ];
28
13
  // 8-bit block spinner frames
29
14
  const SPINNER_FRAMES = ['▖', '▘', '▝', '▗', '▌', '▀', '▐', '▄'];
30
15
  // ASCII Logo
@@ -1311,7 +1296,7 @@ export class App {
1311
1296
  y++;
1312
1297
  }
1313
1298
  // Gradient separator
1314
- this.screen.writeRaw(separatorLine, gradientLine(width, GRADIENT_STOPS_DIM));
1299
+ this.screen.writeRaw(separatorLine, fg.rgb(60, 10, 12) + '─'.repeat(width) + style.reset);
1315
1300
  // Input (don't render cursor when menu/settings is open)
1316
1301
  this.renderInput(inputLine, width, this.menuOpen || this.settingsOpen);
1317
1302
  // Status bar
@@ -1475,7 +1460,7 @@ export class App {
1475
1460
  ? `step ${this.agentIteration}/${this.agentMaxIterations}`
1476
1461
  : `step ${this.agentIteration}`;
1477
1462
  const agentText = `${spinner} Agent working... ${stepLabel} | ${this.agentActions.length} actions (Esc to stop)`;
1478
- this.screen.write(0, y, gradientText(agentText, GRADIENT_STOPS) + style.bold);
1463
+ this.screen.write(0, y, PRIMARY_COLOR + style.bold + agentText + style.reset);
1479
1464
  this.screen.showCursor(false);
1480
1465
  return;
1481
1466
  }
@@ -1484,7 +1469,7 @@ export class App {
1484
1469
  const spinner = SPINNER_FRAMES[this.spinnerFrame];
1485
1470
  const message = this.isStreaming ? 'Writing...' : 'Thinking...';
1486
1471
  const spinnerText = `${spinner} ${message}`;
1487
- this.screen.write(0, y, gradientText(spinnerText, GRADIENT_STOPS));
1472
+ this.screen.write(0, y, PRIMARY_COLOR + spinnerText + style.reset);
1488
1473
  this.screen.showCursor(false);
1489
1474
  return;
1490
1475
  }
@@ -1911,9 +1896,10 @@ export class App {
1911
1896
  // Top border: gradient line with gradient title embedded
1912
1897
  const titleInner = ` ${spinner} AGENT `;
1913
1898
  const titlePadLeft = 2;
1914
- const lineLeft = gradientLine(titlePadLeft, GRADIENT_STOPS);
1915
- const titleColored = gradientText(titleInner, GRADIENT_STOPS) + style.bold;
1916
- const lineRight = gradientLine(Math.max(0, width - titlePadLeft - titleInner.length - 1), GRADIENT_STOPS);
1899
+ const lineChar = PRIMARY_COLOR + '─' + style.reset;
1900
+ const lineLeft = lineChar.repeat(titlePadLeft);
1901
+ const titleColored = PRIMARY_COLOR + style.bold + titleInner + style.reset;
1902
+ const lineRight = lineChar.repeat(Math.max(0, width - titlePadLeft - titleInner.length - 1));
1917
1903
  this.screen.write(0, y, lineLeft + titleColored + lineRight);
1918
1904
  y++;
1919
1905
  // Current action line
@@ -1986,7 +1972,7 @@ export class App {
1986
1972
  else
1987
1973
  bar += '░';
1988
1974
  }
1989
- const barColored = gradientText(bar, GRADIENT_STOPS);
1975
+ const barColored = PRIMARY_COLOR + bar + style.reset;
1990
1976
  const stepText = `${this.agentIteration}/${this.agentMaxIterations}`;
1991
1977
  const barX = width - barWidth - stepText.length - 3;
1992
1978
  this.screen.write(barX, y, barColored);
@@ -2001,9 +1987,9 @@ export class App {
2001
1987
  const helpText = ' Esc to stop ';
2002
1988
  const helpPadLeft = Math.floor((width - helpText.length) / 2);
2003
1989
  const helpPadRight = Math.max(0, width - helpPadLeft - helpText.length);
2004
- this.screen.write(0, y, gradientLine(helpPadLeft, GRADIENT_STOPS_DIM));
1990
+ this.screen.write(0, y, fg.rgb(60, 10, 12) + '─'.repeat(helpPadLeft) + style.reset);
2005
1991
  this.screen.write(helpPadLeft, y, helpText, fg.gray);
2006
- this.screen.write(helpPadLeft + helpText.length, y, gradientLine(helpPadRight, GRADIENT_STOPS_DIM));
1992
+ this.screen.write(helpPadLeft + helpText.length, y, fg.rgb(60, 10, 12) + '─'.repeat(helpPadRight) + style.reset);
2007
1993
  }
2008
1994
  /**
2009
1995
  * Get color for action type
@@ -2062,7 +2048,7 @@ export class App {
2062
2048
  if (this.notification) {
2063
2049
  // Notification: gradient colored, full width
2064
2050
  const notifText = ` ${this.notification}`;
2065
- this.screen.write(0, y, gradientText(notifText, GRADIENT_STOPS));
2051
+ this.screen.write(0, y, PRIMARY_COLOR + notifText + style.reset);
2066
2052
  return;
2067
2053
  }
2068
2054
  const status = this.options.getStatus();
@@ -2075,7 +2061,7 @@ export class App {
2075
2061
  : '';
2076
2062
  let leftX = 1;
2077
2063
  if (modelName) {
2078
- this.screen.write(leftX, y, gradientText(modelName, GRADIENT_STOPS));
2064
+ this.screen.write(leftX, y, PRIMARY_COLOR + modelName + style.reset);
2079
2065
  leftX += modelName.length + 2;
2080
2066
  this.screen.write(leftX - 1, y, '·', fg.gray);
2081
2067
  leftX += 1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeep",
3
- "version": "1.2.83",
3
+ "version": "1.2.84",
4
4
  "description": "AI-powered coding assistant built for the terminal. Multiple LLM providers, project-aware context, and a seamless development workflow.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",