open-agents-ai 0.187.36 → 0.187.38
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/dist/index.js +87 -124
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -276850,7 +276850,7 @@ function tuiSelect(opts) {
|
|
|
276850
276850
|
const hasCrumbs = opts.breadcrumbs && opts.breadcrumbs.length > 0;
|
|
276851
276851
|
const selectChrome = (hasCrumbs ? 11 : 10) + 3;
|
|
276852
276852
|
const contentArea = opts.availableRows ? opts.availableRows + reservedTopBottom : process.stdout.rows ?? 24;
|
|
276853
|
-
|
|
276853
|
+
let maxVisible = opts.maxVisible ?? Math.max(3, contentArea - selectChrome);
|
|
276854
276854
|
let scrollOffset = 0;
|
|
276855
276855
|
let lastRenderedLines = 0;
|
|
276856
276856
|
return new Promise((resolve39) => {
|
|
@@ -276872,7 +276872,7 @@ function tuiSelect(opts) {
|
|
|
276872
276872
|
}
|
|
276873
276873
|
stdin.resume();
|
|
276874
276874
|
enterOverlay();
|
|
276875
|
-
overlayWrite("\x1B[?1049h\x1B[48;5;
|
|
276875
|
+
overlayWrite("\x1B[?1049h\x1B[48;5;0m\x1B[2J\x1B[H\x1B[?25l\x1B[?1003h\x1B[?1006h");
|
|
276876
276876
|
let listRowOffset = 0;
|
|
276877
276877
|
function clampScroll(displayList) {
|
|
276878
276878
|
const cursorPos = displayList.indexOf(cursor);
|
|
@@ -276888,7 +276888,11 @@ function tuiSelect(opts) {
|
|
|
276888
276888
|
}
|
|
276889
276889
|
const hasBreadcrumbs = opts.breadcrumbs && opts.breadcrumbs.length > 0;
|
|
276890
276890
|
function render() {
|
|
276891
|
-
|
|
276891
|
+
const currentRows = process.stdout.rows ?? 24;
|
|
276892
|
+
if (!opts.maxVisible) {
|
|
276893
|
+
maxVisible = Math.max(3, currentRows - selectChrome);
|
|
276894
|
+
}
|
|
276895
|
+
overlayWrite("\x1B[48;5;0m\x1B[H\x1B[2J");
|
|
276892
276896
|
const lines = [];
|
|
276893
276897
|
lines.push("", "", "");
|
|
276894
276898
|
if (hasBreadcrumbs) {
|
|
@@ -276970,8 +276974,8 @@ function tuiSelect(opts) {
|
|
|
276970
276974
|
lines.push(` ${selectColors.dim("\u2191/\u2193 navigate Enter/Click select" + actionHint + deleteHint + customHint + " Esc " + escLabel + " Type to filter")}`);
|
|
276971
276975
|
}
|
|
276972
276976
|
lines.push("");
|
|
276973
|
-
let output = lines.join("\n").replace(/\x1B\[0m/g, "\x1B[0m\x1B[48;5;
|
|
276974
|
-
overlayWrite("\x1B[48;5;
|
|
276977
|
+
let output = lines.join("\n").replace(/\x1B\[0m/g, "\x1B[0m\x1B[48;5;0m").replace(/\n/g, "\x1B[K\n\x1B[48;5;0m");
|
|
276978
|
+
overlayWrite("\x1B[48;5;0m" + output + "\x1B[K");
|
|
276975
276979
|
lastRenderedLines = lines.length;
|
|
276976
276980
|
}
|
|
276977
276981
|
function cleanup() {
|
|
@@ -277427,8 +277431,8 @@ var init_daemon_registry = __esm({
|
|
|
277427
277431
|
*/
|
|
277428
277432
|
renderBar(width) {
|
|
277429
277433
|
this.refresh();
|
|
277430
|
-
const PANEL_BG2 = "\x1B[48;5;
|
|
277431
|
-
const BTN_BG = "\x1B[48;5;
|
|
277434
|
+
const PANEL_BG2 = "\x1B[48;5;0m";
|
|
277435
|
+
const BTN_BG = "\x1B[48;5;0m";
|
|
277432
277436
|
let bar = "";
|
|
277433
277437
|
for (const [, d2] of this.daemons) {
|
|
277434
277438
|
const dotColor = d2.status === "running" ? "32" : (
|
|
@@ -280633,7 +280637,7 @@ async function startNeovimMode(opts) {
|
|
|
280633
280637
|
const bottomBound = Math.min(termRows, topOffset + ptyRows);
|
|
280634
280638
|
process.stdout.write(`\x1B[${topOffset + 1};${bottomBound}r\x1B[${topOffset + 1};1H`);
|
|
280635
280639
|
}
|
|
280636
|
-
const initVimCmd = "let g:loaded_netrwPlugin=1 | let g:loaded_netrw=1 | set mouse=a autoread updatetime=300 signcolumn=no noswapfile | hi WinSeparator guifg=#
|
|
280640
|
+
const initVimCmd = "let g:loaded_netrwPlugin=1 | let g:loaded_netrw=1 | set mouse=a autoread updatetime=300 signcolumn=no noswapfile | hi WinSeparator guifg=#000000 guibg=#000000 ctermfg=0 ctermbg=0 | hi VertSplit guifg=#000000 guibg=#000000 ctermfg=0 ctermbg=0 | hi StatusLine guifg=#bcbcbc guibg=#000000 ctermfg=250 ctermbg=0 | hi StatusLineNC guifg=#585858 guibg=#000000 ctermfg=240 ctermbg=0 | hi NeoTreeWinSeparator guifg=#000000 guibg=#000000 ctermfg=0 ctermbg=0";
|
|
280637
280641
|
const luaBootstrap = "lua " + [
|
|
280638
280642
|
'local lp = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"',
|
|
280639
280643
|
'if not vim.loop.fs_stat(lp) then pcall(vim.fn.system, {"git", "clone", "--filter=blob:none", "--depth=1", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lp}) end',
|
|
@@ -280694,11 +280698,11 @@ async function startNeovimMode(opts) {
|
|
|
280694
280698
|
if (!isTTY5)
|
|
280695
280699
|
return;
|
|
280696
280700
|
let buf = "\x1B7";
|
|
280697
|
-
buf += `\x1B[2;1H\x1B[48;5;
|
|
280701
|
+
buf += `\x1B[2;1H\x1B[48;5;0m\x1B[2K`;
|
|
280698
280702
|
for (const btn of toolbarBtns) {
|
|
280699
280703
|
buf += `\x1B[2;${btn.startCol}H`;
|
|
280700
280704
|
buf += `\x1B]8;;oa-cmd:${btn.action}\x07`;
|
|
280701
|
-
buf += `\x1B[38;5;245m\x1B[48;5;
|
|
280705
|
+
buf += `\x1B[38;5;245m\x1B[48;5;0m${btn.label}`;
|
|
280702
280706
|
buf += `\x1B]8;;\x07`;
|
|
280703
280707
|
}
|
|
280704
280708
|
buf += "\x1B[0m\x1B8";
|
|
@@ -290052,7 +290056,7 @@ async function handleUpdate(subcommand, ctx3) {
|
|
|
290052
290056
|
function renderInstallFrame(version4, frame, statusLine) {
|
|
290053
290057
|
const cols = process.stdout.columns ?? 80;
|
|
290054
290058
|
const rows = process.stdout.rows ?? 24;
|
|
290055
|
-
const bgDark =
|
|
290059
|
+
const bgDark = 0;
|
|
290056
290060
|
const yellow = 178;
|
|
290057
290061
|
const contentTop = 4;
|
|
290058
290062
|
const contentBottom = rows - 3;
|
|
@@ -290136,7 +290140,7 @@ async function handleUpdate(subcommand, ctx3) {
|
|
|
290136
290140
|
const contentBottom = rows - 3;
|
|
290137
290141
|
let buf = "\x1B7";
|
|
290138
290142
|
for (let r2 = contentTop; r2 <= contentBottom; r2++) {
|
|
290139
|
-
buf += `\x1B[${r2};1H\x1B[48;5;
|
|
290143
|
+
buf += `\x1B[${r2};1H\x1B[48;5;0m\x1B[2K`;
|
|
290140
290144
|
}
|
|
290141
290145
|
buf += "\x1B8";
|
|
290142
290146
|
process.stdout.write(buf);
|
|
@@ -292356,101 +292360,47 @@ function createDefaultBanner(version4 = "0.120.0") {
|
|
|
292356
292360
|
const width = process.stdout.columns ?? 80;
|
|
292357
292361
|
const rows = 3;
|
|
292358
292362
|
const yellow = 178;
|
|
292359
|
-
const
|
|
292360
|
-
const
|
|
292361
|
-
|
|
292362
|
-
|
|
292363
|
-
|
|
292364
|
-
|
|
292365
|
-
|
|
292366
|
-
|
|
292367
|
-
|
|
292368
|
-
|
|
292369
|
-
|
|
292370
|
-
|
|
292371
|
-
|
|
292372
|
-
|
|
292373
|
-
|
|
292374
|
-
|
|
292375
|
-
|
|
292376
|
-
|
|
292377
|
-
|
|
292378
|
-
|
|
292379
|
-
"
|
|
292380
|
-
|
|
292381
|
-
|
|
292382
|
-
|
|
292383
|
-
|
|
292384
|
-
"
|
|
292385
|
-
|
|
292386
|
-
|
|
292387
|
-
|
|
292388
|
-
|
|
292389
|
-
|
|
292390
|
-
|
|
292391
|
-
|
|
292392
|
-
|
|
292393
|
-
|
|
292394
|
-
};
|
|
292395
|
-
const frameCount = 8;
|
|
292396
|
-
const frames = [];
|
|
292397
|
-
for (let f2 = 0; f2 < frameCount; f2++) {
|
|
292398
|
-
const grid = [];
|
|
292399
|
-
for (let r2 = 0; r2 < rows; r2++) {
|
|
292400
|
-
const row = [];
|
|
292401
|
-
for (let c4 = 0; c4 < width; c4++) {
|
|
292402
|
-
const fadeStart = Math.floor(width * 0.45);
|
|
292403
|
-
const solidStart = Math.floor(width * 0.85);
|
|
292404
|
-
if (c4 >= fadeStart) {
|
|
292405
|
-
const progress = Math.min(1, (c4 - fadeStart) / Math.max(1, solidStart - fadeStart));
|
|
292406
|
-
const wave = Math.sin(c4 * 0.15 + f2 * 0.5 + r2 * 1.2) * 0.15;
|
|
292407
|
-
const density = progress * progress + wave;
|
|
292408
|
-
const noise2 = hash(r2, c4, f2);
|
|
292409
|
-
if (noise2 < density) {
|
|
292410
|
-
const charIdx = Math.min(particles.length - 1, Math.floor(Math.max(0, density) * particles.length));
|
|
292411
|
-
row.push({ char: particles[charIdx], fg: yellow, bg: bgDark, bold: false });
|
|
292412
|
-
} else {
|
|
292413
|
-
row.push({ char: " ", fg: 0, bg: bgDark, bold: false });
|
|
292414
|
-
}
|
|
292415
|
-
} else {
|
|
292416
|
-
row.push({ char: " ", fg: 0, bg: bgDark, bold: false });
|
|
292417
|
-
}
|
|
292418
|
-
}
|
|
292419
|
-
grid.push(row);
|
|
292420
|
-
}
|
|
292421
|
-
const mnemonic = getNodeMnemonic();
|
|
292422
|
-
const versionText = ` OA v${version4}`;
|
|
292423
|
-
const mnemonicSuffix = ` \xB7 ${mnemonic}`;
|
|
292424
|
-
for (let i2 = 0; i2 < versionText.length && i2 < width; i2++) {
|
|
292425
|
-
grid[0][i2] = { char: versionText[i2], fg: yellow, bg: bgDark, bold: true };
|
|
292426
|
-
}
|
|
292427
|
-
const mnemonicStart = versionText.length;
|
|
292428
|
-
for (let i2 = 0; i2 < mnemonicSuffix.length && mnemonicStart + i2 < Math.floor(width * 0.44); i2++) {
|
|
292429
|
-
grid[0][mnemonicStart + i2] = { char: mnemonicSuffix[i2], fg: 240, bg: bgDark, bold: false };
|
|
292430
|
-
}
|
|
292431
|
-
const cwd4 = process.cwd();
|
|
292432
|
-
const shortCwd = cwd4.length > 40 ? "..." + cwd4.slice(-37) : cwd4;
|
|
292433
|
-
const infoText = ` ${shortCwd}`;
|
|
292434
|
-
for (let i2 = 0; i2 < infoText.length && i2 < Math.floor(width * 0.44); i2++) {
|
|
292435
|
-
grid[1][i2] = { char: infoText[i2], fg: 245, bg: bgDark, bold: false };
|
|
292436
|
-
}
|
|
292437
|
-
const btnLabels = ["help", "voice", "cohere", "model"];
|
|
292438
|
-
const btnBg = 236;
|
|
292439
|
-
let bCol = 2;
|
|
292440
|
-
for (const lbl of btnLabels) {
|
|
292441
|
-
const padded = ` ${lbl} `;
|
|
292442
|
-
for (let ci = 0; ci < padded.length && bCol + ci < Math.floor(width * 0.44); ci++) {
|
|
292443
|
-
grid[2][bCol + ci] = { char: padded[ci], fg: 245, bg: btnBg, bold: false };
|
|
292444
|
-
}
|
|
292445
|
-
bCol += padded.length + 1;
|
|
292446
|
-
}
|
|
292447
|
-
frames.push({ grid, durationMs: 200 });
|
|
292448
|
-
}
|
|
292363
|
+
const bgBlack = 0;
|
|
292364
|
+
const grid = [];
|
|
292365
|
+
const innerW = width - 2;
|
|
292366
|
+
const topRow = [];
|
|
292367
|
+
topRow.push({ char: "\u256D", fg: yellow, bg: bgBlack, bold: false });
|
|
292368
|
+
for (let c4 = 0; c4 < innerW; c4++) {
|
|
292369
|
+
topRow.push({ char: "\u2500", fg: yellow, bg: bgBlack, bold: false });
|
|
292370
|
+
}
|
|
292371
|
+
topRow.push({ char: "\u256E", fg: yellow, bg: bgBlack, bold: false });
|
|
292372
|
+
grid.push(topRow);
|
|
292373
|
+
const mnemonic = getNodeMnemonic();
|
|
292374
|
+
const cwd4 = process.cwd();
|
|
292375
|
+
const shortCwd = cwd4.length > 30 ? "..." + cwd4.slice(-27) : cwd4;
|
|
292376
|
+
const centerText = `Open Agents v${version4} \xB7 ${mnemonic} \xB7 ${shortCwd}`;
|
|
292377
|
+
const textLen = centerText.length;
|
|
292378
|
+
const leftPad = Math.max(0, Math.floor((innerW - textLen) / 2));
|
|
292379
|
+
const rightPad = Math.max(0, innerW - textLen - leftPad);
|
|
292380
|
+
const midRow = [];
|
|
292381
|
+
midRow.push({ char: "\u2502", fg: yellow, bg: bgBlack, bold: false });
|
|
292382
|
+
for (let i2 = 0; i2 < leftPad; i2++)
|
|
292383
|
+
midRow.push({ char: " ", fg: 0, bg: bgBlack, bold: false });
|
|
292384
|
+
for (let i2 = 0; i2 < centerText.length && i2 < innerW; i2++) {
|
|
292385
|
+
midRow.push({ char: centerText[i2], fg: yellow, bg: bgBlack, bold: true });
|
|
292386
|
+
}
|
|
292387
|
+
for (let i2 = 0; i2 < rightPad; i2++)
|
|
292388
|
+
midRow.push({ char: " ", fg: 0, bg: bgBlack, bold: false });
|
|
292389
|
+
midRow.push({ char: "\u2502", fg: yellow, bg: bgBlack, bold: false });
|
|
292390
|
+
grid.push(midRow);
|
|
292391
|
+
const botRow = [];
|
|
292392
|
+
botRow.push({ char: "\u2570", fg: yellow, bg: bgBlack, bold: false });
|
|
292393
|
+
for (let c4 = 0; c4 < innerW; c4++) {
|
|
292394
|
+
botRow.push({ char: "\u2500", fg: yellow, bg: bgBlack, bold: false });
|
|
292395
|
+
}
|
|
292396
|
+
botRow.push({ char: "\u256F", fg: yellow, bg: bgBlack, bold: false });
|
|
292397
|
+
grid.push(botRow);
|
|
292449
292398
|
return {
|
|
292450
292399
|
id: "default-header",
|
|
292451
292400
|
name: "OA Default Header",
|
|
292452
292401
|
type: "default",
|
|
292453
|
-
frames,
|
|
292402
|
+
frames: [{ grid, durationMs: 0 }],
|
|
292403
|
+
// Single static frame, no animation
|
|
292454
292404
|
alignment: ["left", "center", "left"],
|
|
292455
292405
|
flowSpeed: [0, 0, 0],
|
|
292456
292406
|
author: "system",
|
|
@@ -292462,7 +292412,7 @@ function createCohereBanner() {
|
|
|
292462
292412
|
const width = process.stdout.columns ?? 80;
|
|
292463
292413
|
const rows = 3;
|
|
292464
292414
|
const grid = [];
|
|
292465
|
-
const bgColor =
|
|
292415
|
+
const bgColor = 0;
|
|
292466
292416
|
const fgColor = 226;
|
|
292467
292417
|
const halftone = ["\u2588", "\u2593", "\u2592", "\u2591", " "];
|
|
292468
292418
|
for (let r2 = 0; r2 < rows; r2++) {
|
|
@@ -292832,7 +292782,7 @@ var init_banner = __esm({
|
|
|
292832
292782
|
];
|
|
292833
292783
|
for (let r2 = 0; r2 < this.rows; r2++) {
|
|
292834
292784
|
const ch = FOCUS[(this.frameTick + r2 * 3) % FOCUS.length];
|
|
292835
|
-
buf += `\x1B[${r2 + 1};1H\x1B[38;5;178m\x1B[48;5;
|
|
292785
|
+
buf += `\x1B[${r2 + 1};1H\x1B[38;5;178m\x1B[48;5;0m${ch}\x1B[0m`;
|
|
292836
292786
|
}
|
|
292837
292787
|
}
|
|
292838
292788
|
if (this._updateAvailable && this.currentDesign?.type === "default") {
|
|
@@ -292858,7 +292808,7 @@ var init_banner = __esm({
|
|
|
292858
292808
|
const badgeStart = vStart + vLen;
|
|
292859
292809
|
if (badgeStart + badge.length < this.width) {
|
|
292860
292810
|
buf += `\x1B]8;;oa-cmd:/update\x07`;
|
|
292861
|
-
buf += `\x1B[1;${badgeStart}H\x1B[1;38;5;${updateFg}m\x1B[48;5;
|
|
292811
|
+
buf += `\x1B[1;${badgeStart}H\x1B[1;38;5;${updateFg}m\x1B[48;5;0m${badge}`;
|
|
292862
292812
|
buf += `\x1B]8;;\x07`;
|
|
292863
292813
|
const mnemonicStartCol = badgeStart + badge.length;
|
|
292864
292814
|
const gridRow = frame.grid[0];
|
|
@@ -293394,14 +293344,14 @@ var init_stream_renderer = __esm({
|
|
|
293394
293344
|
this.lineStarted = false;
|
|
293395
293345
|
}
|
|
293396
293346
|
if (this.thinkingTokenCount % 50 === 0) {
|
|
293397
|
-
this.writeRaw(`\x1B[1A\x1B[48;5;
|
|
293347
|
+
this.writeRaw(`\x1B[1A\x1B[48;5;0m\x1B[2K${dimText(" \u23BF ")}${dimItalic(`thinking... (${this.thinkingTokenCount} tokens)`)}
|
|
293398
293348
|
`);
|
|
293399
293349
|
}
|
|
293400
293350
|
return;
|
|
293401
293351
|
}
|
|
293402
293352
|
if (this.thinkingIndicatorShown && kind === "content") {
|
|
293403
293353
|
this.thinkingIndicatorShown = false;
|
|
293404
|
-
this.writeRaw(`\x1B[1A\x1B[48;5;
|
|
293354
|
+
this.writeRaw(`\x1B[1A\x1B[48;5;0m\x1B[2K${dimText(" \u23BF ")}${dimItalic(`thought for ${this.thinkingTokenCount} tokens`)}
|
|
293405
293355
|
`);
|
|
293406
293356
|
this.thinkingTokenCount = 0;
|
|
293407
293357
|
this.lineStarted = false;
|
|
@@ -299380,12 +299330,12 @@ var init_text_selection = __esm({
|
|
|
299380
299330
|
_clipboardAutoInstallAttempted = false;
|
|
299381
299331
|
_hoveredButtonCmd = null;
|
|
299382
299332
|
_pressedButtonCmd = null;
|
|
299383
|
-
BTN_REST_BG =
|
|
299333
|
+
BTN_REST_BG = 0;
|
|
299384
299334
|
BTN_REST_FG = 245;
|
|
299385
|
-
BTN_HOVER_BG =
|
|
299335
|
+
BTN_HOVER_BG = 235;
|
|
299386
299336
|
BTN_HOVER_FG = 252;
|
|
299387
299337
|
BTN_PRESS_BG = 249;
|
|
299388
|
-
BTN_PRESS_FG =
|
|
299338
|
+
BTN_PRESS_FG = 0;
|
|
299389
299339
|
_updateBadgeActive = false;
|
|
299390
299340
|
_updateBadgeCol = 0;
|
|
299391
299341
|
_updateBadgeLen = 0;
|
|
@@ -299401,7 +299351,7 @@ function setTerminalTitle(task, version4) {
|
|
|
299401
299351
|
const title = task ? `${task.slice(0, 60)} \xB7 ${ver}` : ver;
|
|
299402
299352
|
process.stdout.write(`\x1B]2;${title}\x07`);
|
|
299403
299353
|
}
|
|
299404
|
-
var EXPERT_TOOL_BASELINES, CONTEXT_SWITCH_OVERHEAD, TURN_PLANNING_OVERHEAD, DEFAULT_TOOL_BASELINE, CODE_READ_CHARS_PER_SEC, PROSE_READ_CHARS_PER_SEC, MIN_CONTENT_FOR_READING, CODE_CONTENT_TOOLS, PROSE_CONTENT_TOOLS, HumanSpeedTracker, PANEL_BG, CONTENT_BG, TEXT_PRIMARY, TEXT_DIM, PANEL_BG_SEQ, CONTENT_BG_SEQ, RESET, _isWindows, StatusBar;
|
|
299354
|
+
var EXPERT_TOOL_BASELINES, CONTEXT_SWITCH_OVERHEAD, TURN_PLANNING_OVERHEAD, DEFAULT_TOOL_BASELINE, CODE_READ_CHARS_PER_SEC, PROSE_READ_CHARS_PER_SEC, MIN_CONTENT_FOR_READING, CODE_CONTENT_TOOLS, PROSE_CONTENT_TOOLS, HumanSpeedTracker, PANEL_BG, CONTENT_BG, TEXT_PRIMARY, TEXT_DIM, BOX_COLOR, PANEL_BG_SEQ, CONTENT_BG_SEQ, BOX_TL, BOX_TR, BOX_BL, BOX_BR, BOX_H, BOX_V, BOX_FG, RESET, _isWindows, StatusBar;
|
|
299405
299355
|
var init_status_bar = __esm({
|
|
299406
299356
|
"packages/cli/dist/tui/status-bar.js"() {
|
|
299407
299357
|
"use strict";
|
|
@@ -299567,12 +299517,20 @@ var init_status_bar = __esm({
|
|
|
299567
299517
|
return this.toolCalls > 0;
|
|
299568
299518
|
}
|
|
299569
299519
|
};
|
|
299570
|
-
PANEL_BG =
|
|
299571
|
-
CONTENT_BG =
|
|
299520
|
+
PANEL_BG = 0;
|
|
299521
|
+
CONTENT_BG = 0;
|
|
299572
299522
|
TEXT_PRIMARY = 178;
|
|
299573
299523
|
TEXT_DIM = 240;
|
|
299524
|
+
BOX_COLOR = 178;
|
|
299574
299525
|
PANEL_BG_SEQ = `\x1B[48;5;${PANEL_BG}m`;
|
|
299575
299526
|
CONTENT_BG_SEQ = `\x1B[48;5;${CONTENT_BG}m`;
|
|
299527
|
+
BOX_TL = "\u256D";
|
|
299528
|
+
BOX_TR = "\u256E";
|
|
299529
|
+
BOX_BL = "\u2570";
|
|
299530
|
+
BOX_BR = "\u256F";
|
|
299531
|
+
BOX_H = "\u2500";
|
|
299532
|
+
BOX_V = "\u2502";
|
|
299533
|
+
BOX_FG = `\x1B[38;5;${BOX_COLOR}m`;
|
|
299576
299534
|
RESET = "\x1B[0m";
|
|
299577
299535
|
_isWindows = process.platform === "win32";
|
|
299578
299536
|
StatusBar = class _StatusBar {
|
|
@@ -300681,7 +300639,7 @@ var init_status_bar = __esm({
|
|
|
300681
300639
|
)
|
|
300682
300640
|
);
|
|
300683
300641
|
const label = ` ${view.label} ${icon} `;
|
|
300684
|
-
const bg = isActive ?
|
|
300642
|
+
const bg = isActive ? 235 : 0;
|
|
300685
300643
|
const fg2 = isActive ? 252 : 245;
|
|
300686
300644
|
buf += `\x1B[${pos.tabBarRow};${col}H`;
|
|
300687
300645
|
buf += `\x1B]8;;oa-view:${view.id}\x07`;
|
|
@@ -301378,7 +301336,7 @@ ${CONTENT_BG_SEQ}`);
|
|
|
301378
301336
|
this._updateSuggestions();
|
|
301379
301337
|
const inputLines = this.computeInputLineCount(termWidth);
|
|
301380
301338
|
const suggestionRows = this._suggestions.length > 0 ? this._suggestions.length : 1;
|
|
301381
|
-
const newHeight = 1 + inputLines + suggestionRows;
|
|
301339
|
+
const newHeight = 1 + 1 + inputLines + suggestionRows;
|
|
301382
301340
|
if (newHeight !== this._currentFooterHeight) {
|
|
301383
301341
|
this._currentFooterHeight = newHeight;
|
|
301384
301342
|
return true;
|
|
@@ -301390,7 +301348,7 @@ ${CONTENT_BG_SEQ}`);
|
|
|
301390
301348
|
this._updateSuggestions();
|
|
301391
301349
|
const inputLines = this.computeInputLineCount(termWidth);
|
|
301392
301350
|
const suggestionRows = this._suggestions.length > 0 ? this._suggestions.length : 1;
|
|
301393
|
-
return 1 + inputLines + suggestionRows !== this._currentFooterHeight;
|
|
301351
|
+
return 1 + 1 + inputLines + suggestionRows !== this._currentFooterHeight;
|
|
301394
301352
|
}
|
|
301395
301353
|
/** Compute absolute row positions for all footer elements.
|
|
301396
301354
|
* Layout (top to bottom): input → suggestions/braille → metrics.
|
|
@@ -301516,12 +301474,17 @@ ${CONTENT_BG_SEQ}`);
|
|
|
301516
301474
|
}
|
|
301517
301475
|
const inputWrap = this.wrapInput(w);
|
|
301518
301476
|
let buf = "\x1B[?7l";
|
|
301477
|
+
const boxInner = w - 2;
|
|
301478
|
+
buf += `\x1B[${pos.inputStartRow};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_TL}${BOX_H.repeat(Math.max(0, boxInner))}${BOX_TR}${RESET}`;
|
|
301519
301479
|
for (let i2 = 0; i2 < inputWrap.lines.length; i2++) {
|
|
301520
|
-
const row = pos.inputStartRow + i2;
|
|
301480
|
+
const row = pos.inputStartRow + 1 + i2;
|
|
301521
301481
|
const prefix = i2 === 0 ? this.promptText : " ".repeat(this.promptWidth);
|
|
301522
|
-
|
|
301482
|
+
const lineContent = `${prefix}${inputWrap.lines[i2]}`;
|
|
301483
|
+
const visLen = this.promptWidth + (inputWrap.lines[i2]?.length ?? 0);
|
|
301484
|
+
const pad = Math.max(0, boxInner - visLen);
|
|
301485
|
+
buf += `\x1B[${row};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_V}${RESET}${PANEL_BG_SEQ}${lineContent}${" ".repeat(pad)}${BOX_FG}${BOX_V}${RESET}`;
|
|
301523
301486
|
}
|
|
301524
|
-
const cursorTermRow = pos.inputStartRow + inputWrap.cursorRow;
|
|
301487
|
+
const cursorTermRow = pos.inputStartRow + 1 + inputWrap.cursorRow;
|
|
301525
301488
|
if (pos.tabBarRow > 0) {
|
|
301526
301489
|
buf += `\x1B[${pos.tabBarRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}`;
|
|
301527
301490
|
}
|
|
@@ -301530,7 +301493,7 @@ ${CONTENT_BG_SEQ}`);
|
|
|
301530
301493
|
const row = pos.suggestStartRow + si;
|
|
301531
301494
|
const cmd = this._suggestions[si];
|
|
301532
301495
|
const isHighlighted = si === this._suggestIndex;
|
|
301533
|
-
const bg = isHighlighted ? `\x1B[48;5;
|
|
301496
|
+
const bg = isHighlighted ? `\x1B[48;5;235m` : PANEL_BG_SEQ;
|
|
301534
301497
|
const fg2 = isHighlighted ? `\x1B[1;38;5;${TEXT_PRIMARY}m` : `\x1B[38;5;${TEXT_PRIMARY}m`;
|
|
301535
301498
|
const slash = isHighlighted ? `\x1B[38;5;245m` : `\x1B[38;5;${TEXT_DIM}m`;
|
|
301536
301499
|
const marker = isHighlighted ? `\x1B[38;5;${TEXT_PRIMARY}m\u203A ` : " ";
|
|
@@ -301539,7 +301502,7 @@ ${CONTENT_BG_SEQ}`);
|
|
|
301539
301502
|
buf += `${RESET}`;
|
|
301540
301503
|
}
|
|
301541
301504
|
} else {
|
|
301542
|
-
buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${
|
|
301505
|
+
buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_BL}${BOX_H.repeat(Math.max(0, boxInner))}${BOX_BR}${RESET}`;
|
|
301543
301506
|
}
|
|
301544
301507
|
buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET}`;
|
|
301545
301508
|
const focusChar = this._getFocusQuadrant();
|
|
@@ -308188,7 +308151,7 @@ async function startInteractive(config, repoPath) {
|
|
|
308188
308151
|
let restoredSessionContext = null;
|
|
308189
308152
|
if (process.stdout.isTTY) {
|
|
308190
308153
|
process.stdout.write("\x1B[2J\x1B[3J\x1B]50;ClearScrollback\x07\x1B[H");
|
|
308191
|
-
process.stdout.write(`\x1B[?1002l\x1B[?1003l\x1B[?1006l\x1B[?1015l\x1B[?1049h\x1B[48;5;
|
|
308154
|
+
process.stdout.write(`\x1B[?1002l\x1B[?1003l\x1B[?1006l\x1B[?1015l\x1B[?1049h\x1B[48;5;0m\x1B[2J\x1B[3J\x1B[H\x1B[1;${process.stdout.rows ?? 24}r\x1B[?25l`);
|
|
308192
308155
|
const restoreScreen = () => {
|
|
308193
308156
|
process.stdout.write("\x1B[?1002l\x1B[?1003l\x1B[?1006l\x1B[?1015l\x1B[?25h\x1B[?1049l");
|
|
308194
308157
|
};
|
|
@@ -308787,7 +308750,7 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
|
|
|
308787
308750
|
const RECALL_WINDOW_MS = 1500;
|
|
308788
308751
|
let sessionSudoPassword = null;
|
|
308789
308752
|
let sudoPromptPending = false;
|
|
308790
|
-
const panelBg = "\x1B[48;5;
|
|
308753
|
+
const panelBg = "\x1B[48;5;0m";
|
|
308791
308754
|
const idlePrompt = `${panelBg}${c3.bold(c3.white("\u276F "))}${panelBg}`;
|
|
308792
308755
|
const activePrompt = `${panelBg}${c3.bold(c3.white("+ "))}${panelBg}`;
|
|
308793
308756
|
const pausedPrompt = `${panelBg}${c3.bold(c3.yellow("| "))}${panelBg}`;
|
package/package.json
CHANGED