vibora 9.8.1 → 9.8.2
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/bin/vibora.js +1 -1
- package/package.json +1 -1
- package/server/index.js +17 -4
package/bin/vibora.js
CHANGED
|
@@ -45126,7 +45126,7 @@ function installUv() {
|
|
|
45126
45126
|
var package_default = {
|
|
45127
45127
|
name: "vibora",
|
|
45128
45128
|
private: true,
|
|
45129
|
-
version: "9.8.
|
|
45129
|
+
version: "9.8.2",
|
|
45130
45130
|
description: "Harness Attention. Orchestrate Agents. Ship.",
|
|
45131
45131
|
license: "PolyForm-Perimeter-1.0.0",
|
|
45132
45132
|
type: "module",
|
package/package.json
CHANGED
package/server/index.js
CHANGED
|
@@ -5823,11 +5823,12 @@ class BufferManager {
|
|
|
5823
5823
|
anyEvent: false,
|
|
5824
5824
|
sgr: false
|
|
5825
5825
|
};
|
|
5826
|
+
cursorVisible = true;
|
|
5826
5827
|
setTerminalId(id) {
|
|
5827
5828
|
this.terminalId = id;
|
|
5828
5829
|
}
|
|
5829
5830
|
append(data) {
|
|
5830
|
-
this.
|
|
5831
|
+
this.trackTerminalState(data);
|
|
5831
5832
|
this.chunks.push({ data, timestamp: Date.now() });
|
|
5832
5833
|
this.totalBytes += data.length;
|
|
5833
5834
|
while (this.totalBytes > MAX_BUFFER_BYTES && this.chunks.length > 1) {
|
|
@@ -5835,7 +5836,7 @@ class BufferManager {
|
|
|
5835
5836
|
this.totalBytes -= removed.data.length;
|
|
5836
5837
|
}
|
|
5837
5838
|
}
|
|
5838
|
-
|
|
5839
|
+
trackTerminalState(data) {
|
|
5839
5840
|
const ESC = "\x1B";
|
|
5840
5841
|
if (new RegExp(`${ESC}\\[\\?1000h`).test(data))
|
|
5841
5842
|
this.mouseMode.x10 = true;
|
|
@@ -5853,6 +5854,10 @@ class BufferManager {
|
|
|
5853
5854
|
this.mouseMode.sgr = true;
|
|
5854
5855
|
if (new RegExp(`${ESC}\\[\\?1006l`).test(data))
|
|
5855
5856
|
this.mouseMode.sgr = false;
|
|
5857
|
+
if (new RegExp(`${ESC}\\[\\?25h`).test(data))
|
|
5858
|
+
this.cursorVisible = true;
|
|
5859
|
+
if (new RegExp(`${ESC}\\[\\?25l`).test(data))
|
|
5860
|
+
this.cursorVisible = false;
|
|
5856
5861
|
}
|
|
5857
5862
|
getMouseModeSequences() {
|
|
5858
5863
|
const ESC = "\x1B";
|
|
@@ -5873,12 +5878,18 @@ class BufferManager {
|
|
|
5873
5878
|
}
|
|
5874
5879
|
getContents() {
|
|
5875
5880
|
const raw2 = this.chunks.map((c) => c.data).join("");
|
|
5876
|
-
|
|
5881
|
+
let output = this.filterProblematicSequences(raw2);
|
|
5882
|
+
if (!this.cursorVisible) {
|
|
5883
|
+
const ESC = "\x1B";
|
|
5884
|
+
output = `${ESC}[?25l` + output;
|
|
5885
|
+
}
|
|
5886
|
+
return output;
|
|
5877
5887
|
}
|
|
5878
5888
|
clear() {
|
|
5879
5889
|
this.chunks = [];
|
|
5880
5890
|
this.totalBytes = 0;
|
|
5881
5891
|
this.mouseMode = { x10: false, buttonEvent: false, anyEvent: false, sgr: false };
|
|
5892
|
+
this.cursorVisible = true;
|
|
5882
5893
|
}
|
|
5883
5894
|
getLineCount() {
|
|
5884
5895
|
const content = this.getContents();
|
|
@@ -5895,7 +5906,8 @@ class BufferManager {
|
|
|
5895
5906
|
const fileData = {
|
|
5896
5907
|
version: 3,
|
|
5897
5908
|
content: Buffer.from(content).toString("base64"),
|
|
5898
|
-
mouseMode: { ...this.mouseMode }
|
|
5909
|
+
mouseMode: { ...this.mouseMode },
|
|
5910
|
+
cursorVisible: this.cursorVisible
|
|
5899
5911
|
};
|
|
5900
5912
|
writeFileSync2(filePath, JSON.stringify(fileData), "utf-8");
|
|
5901
5913
|
} catch (err) {
|
|
@@ -5922,6 +5934,7 @@ class BufferManager {
|
|
|
5922
5934
|
sgr: !!parsed.mouseMode.sgr
|
|
5923
5935
|
};
|
|
5924
5936
|
}
|
|
5937
|
+
this.cursorVisible = parsed.cursorVisible !== false;
|
|
5925
5938
|
} else if (parsed.version === 2 && typeof parsed.content === "string") {
|
|
5926
5939
|
content = Buffer.from(parsed.content, "base64").toString();
|
|
5927
5940
|
} else {
|