clawfast 2.0.2 → 2.1.1
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/README.md +12 -12
- package/dist/clawfast.cjs +1070 -792
- package/package.json +1 -1
package/dist/clawfast.cjs
CHANGED
|
@@ -33,17 +33,130 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
33
33
|
mod
|
|
34
34
|
));
|
|
35
35
|
|
|
36
|
+
// src/theme.ts
|
|
37
|
+
function rampAt(t) {
|
|
38
|
+
const x = Math.max(0, Math.min(1, t)) * (RAMP.length - 1);
|
|
39
|
+
const i = Math.floor(x);
|
|
40
|
+
if (i >= RAMP.length - 1) return RAMP[RAMP.length - 1];
|
|
41
|
+
return mix(RAMP[i], RAMP[i + 1], x - i);
|
|
42
|
+
}
|
|
43
|
+
function fg([r2, g, b]) {
|
|
44
|
+
return colorOn ? `${ESC}38;2;${r2};${g};${b}m` : "";
|
|
45
|
+
}
|
|
46
|
+
function paint(text2, color, opts = {}) {
|
|
47
|
+
if (!colorOn) return text2;
|
|
48
|
+
return `${opts.bold ? bold : ""}${fg(color)}${text2}${r}`;
|
|
49
|
+
}
|
|
50
|
+
function gradient(text2, opts = {}) {
|
|
51
|
+
if (!colorOn) return text2;
|
|
52
|
+
const chars = [...text2];
|
|
53
|
+
const n = Math.max(1, chars.length - 1);
|
|
54
|
+
const spread = opts.spread ?? 1;
|
|
55
|
+
const phase = opts.phase ?? 0;
|
|
56
|
+
let out3 = opts.bold ? bold : "";
|
|
57
|
+
chars.forEach((ch, i) => {
|
|
58
|
+
const t = (i / n * spread + phase) % 1;
|
|
59
|
+
out3 += fg(rampAt(t < 0 ? t + 1 : t)) + ch;
|
|
60
|
+
});
|
|
61
|
+
return out3 + r;
|
|
62
|
+
}
|
|
63
|
+
async function revealLines(lines, step = 45) {
|
|
64
|
+
for (const line of lines) {
|
|
65
|
+
write(line + "\n");
|
|
66
|
+
if (step > 0) await sleep(step);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async function typeOut(text2, opts = {}) {
|
|
70
|
+
const perChar = opts.perChar ?? 18;
|
|
71
|
+
const render = opts.render ?? ((s) => s);
|
|
72
|
+
if (!animOn) {
|
|
73
|
+
write(render(text2) + "\n");
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const chars = [...text2];
|
|
77
|
+
let shown = "";
|
|
78
|
+
for (const ch of chars) {
|
|
79
|
+
shown += ch;
|
|
80
|
+
write(`\r${ESC}2K` + render(shown));
|
|
81
|
+
await sleep(perChar);
|
|
82
|
+
}
|
|
83
|
+
write("\n");
|
|
84
|
+
}
|
|
85
|
+
async function sweepRule(width, ch = "\u2500") {
|
|
86
|
+
const full = ch.repeat(Math.max(1, width));
|
|
87
|
+
if (!animOn) {
|
|
88
|
+
write(gradient(full) + "\n");
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const steps = 14;
|
|
92
|
+
for (let s = 1; s <= steps; s++) {
|
|
93
|
+
const len = Math.round(full.length * s / steps);
|
|
94
|
+
write(`\r${ESC}2K` + gradient(full.slice(0, len)));
|
|
95
|
+
await sleep(16);
|
|
96
|
+
}
|
|
97
|
+
write("\n");
|
|
98
|
+
}
|
|
99
|
+
var ESC, RESET, BOLD, DIM, flag, isTTY, colorOn, animOn, RAMP, PAL, clamp, lerp, mix, r, bold, dim, sleep, write;
|
|
100
|
+
var init_theme = __esm({
|
|
101
|
+
"src/theme.ts"() {
|
|
102
|
+
"use strict";
|
|
103
|
+
ESC = "\x1B[";
|
|
104
|
+
RESET = `${ESC}0m`;
|
|
105
|
+
BOLD = `${ESC}1m`;
|
|
106
|
+
DIM = `${ESC}2m`;
|
|
107
|
+
flag = (name25) => /^(1|true|yes|on)$/i.test((process.env[name25] ?? "").trim());
|
|
108
|
+
isTTY = Boolean(process.stdout.isTTY);
|
|
109
|
+
colorOn = isTTY && !flag("NO_COLOR");
|
|
110
|
+
animOn = colorOn && !flag("CLAWFAST_NO_ANIM");
|
|
111
|
+
RAMP = [
|
|
112
|
+
[24, 255, 106],
|
|
113
|
+
// neon green
|
|
114
|
+
[20, 255, 163],
|
|
115
|
+
// spring
|
|
116
|
+
[22, 240, 208],
|
|
117
|
+
// teal
|
|
118
|
+
[34, 214, 255]
|
|
119
|
+
// electric cyan
|
|
120
|
+
];
|
|
121
|
+
PAL = {
|
|
122
|
+
green: [24, 255, 106],
|
|
123
|
+
cyan: [34, 214, 255],
|
|
124
|
+
mint: [156, 255, 208],
|
|
125
|
+
dim: [76, 107, 90],
|
|
126
|
+
// muted green-gray for secondary text
|
|
127
|
+
frame: [27, 158, 107],
|
|
128
|
+
// calmer green for static borders
|
|
129
|
+
warn: [255, 209, 77],
|
|
130
|
+
danger: [255, 92, 92]
|
|
131
|
+
};
|
|
132
|
+
clamp = (n) => Math.max(0, Math.min(255, Math.round(n)));
|
|
133
|
+
lerp = (a, b, t) => a + (b - a) * t;
|
|
134
|
+
mix = (a, b, t) => [
|
|
135
|
+
clamp(lerp(a[0], b[0], t)),
|
|
136
|
+
clamp(lerp(a[1], b[1], t)),
|
|
137
|
+
clamp(lerp(a[2], b[2], t))
|
|
138
|
+
];
|
|
139
|
+
r = colorOn ? RESET : "";
|
|
140
|
+
bold = colorOn ? BOLD : "";
|
|
141
|
+
dim = (text2) => paint(text2, PAL.dim);
|
|
142
|
+
sleep = (ms) => animOn ? new Promise((res) => setTimeout(res, ms)) : Promise.resolve();
|
|
143
|
+
write = (s) => process.stdout.write(s);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
|
|
36
147
|
// src/boot-ui.ts
|
|
37
148
|
function startBootSpinner(text2 = "Abrindo penteste...") {
|
|
38
149
|
if (VERBOSE || active) return;
|
|
39
150
|
active = true;
|
|
40
|
-
if (!
|
|
151
|
+
if (!isTTY2) {
|
|
41
152
|
process.stdout.write(`${text2}
|
|
42
153
|
`);
|
|
43
154
|
return;
|
|
44
155
|
}
|
|
45
156
|
const render = () => {
|
|
46
|
-
|
|
157
|
+
const t = frame % FRAMES.length / (FRAMES.length - 1);
|
|
158
|
+
const glyph = colorOn ? `${fg(rampAt(t))}${FRAMES[frame]}${RESET}` : FRAMES[frame];
|
|
159
|
+
process.stdout.write(`\r\x1B[2K${glyph} ${dim(text2)}`);
|
|
47
160
|
frame = (frame + 1) % FRAMES.length;
|
|
48
161
|
};
|
|
49
162
|
render();
|
|
@@ -55,7 +168,7 @@ function stopBootSpinner() {
|
|
|
55
168
|
clearInterval(timer);
|
|
56
169
|
timer = null;
|
|
57
170
|
}
|
|
58
|
-
if (active &&
|
|
171
|
+
if (active && isTTY2) process.stdout.write("\r\x1B[2K");
|
|
59
172
|
active = false;
|
|
60
173
|
}
|
|
61
174
|
function flushBootBuffer() {
|
|
@@ -64,16 +177,17 @@ function flushBootBuffer() {
|
|
|
64
177
|
`);
|
|
65
178
|
buffer.length = 0;
|
|
66
179
|
}
|
|
67
|
-
var VERBOSE, bootQuiet, FRAMES,
|
|
180
|
+
var VERBOSE, bootQuiet, FRAMES, isTTY2, timer, frame, active, buffer;
|
|
68
181
|
var init_boot_ui = __esm({
|
|
69
182
|
"src/boot-ui.ts"() {
|
|
70
183
|
"use strict";
|
|
184
|
+
init_theme();
|
|
71
185
|
VERBOSE = /^(1|true|yes)$/i.test(
|
|
72
186
|
(process.env.CLAWFAST_DEBUG ?? process.env.CLAWFAST_BOOT_LOGS ?? "").trim()
|
|
73
187
|
);
|
|
74
188
|
bootQuiet = !VERBOSE;
|
|
75
189
|
FRAMES = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
|
|
76
|
-
|
|
190
|
+
isTTY2 = Boolean(process.stdout.isTTY);
|
|
77
191
|
timer = null;
|
|
78
192
|
frame = 0;
|
|
79
193
|
active = false;
|
|
@@ -111,7 +225,7 @@ var require_main = __commonJS({
|
|
|
111
225
|
function supportsAnsi() {
|
|
112
226
|
return process.stdout.isTTY;
|
|
113
227
|
}
|
|
114
|
-
function
|
|
228
|
+
function dim2(text2) {
|
|
115
229
|
return supportsAnsi() ? `\x1B[2m${text2}\x1B[0m` : text2;
|
|
116
230
|
}
|
|
117
231
|
var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
|
|
@@ -306,7 +420,7 @@ var require_main = __commonJS({
|
|
|
306
420
|
lastError = e;
|
|
307
421
|
}
|
|
308
422
|
}
|
|
309
|
-
_log(`injected env (${keysCount}) from ${shortPaths.join(",")} ${
|
|
423
|
+
_log(`injected env (${keysCount}) from ${shortPaths.join(",")} ${dim2(`// tip: ${_getRandomTip()}`)}`);
|
|
310
424
|
}
|
|
311
425
|
if (lastError) {
|
|
312
426
|
return { parsed: parsedAll, error: lastError };
|
|
@@ -548,7 +662,7 @@ var clawfastVersion, isDevVersion, isNewerVersion;
|
|
|
548
662
|
var init_version = __esm({
|
|
549
663
|
"src/version.ts"() {
|
|
550
664
|
"use strict";
|
|
551
|
-
clawfastVersion = () => true ? "2.
|
|
665
|
+
clawfastVersion = () => true ? "2.1.1" : "0.0.0-dev";
|
|
552
666
|
isDevVersion = () => clawfastVersion().includes("-dev");
|
|
553
667
|
isNewerVersion = (a, b) => {
|
|
554
668
|
const parse3 = (v) => v.split("-")[0].split(".").map((n) => Number.parseInt(n, 10) || 0);
|
|
@@ -601,7 +715,7 @@ var init_update = __esm({
|
|
|
601
715
|
if (isDevVersion()) return null;
|
|
602
716
|
const cache = readCache();
|
|
603
717
|
if (cache && isNewerVersion(cache.latest, current)) {
|
|
604
|
-
return `nova versao ${cache.latest} disponivel (voce tem ${current}) \u2014 rode: clawfast update`;
|
|
718
|
+
return `nova versao ${cache.latest} disponivel (voce tem ${current}) \u2014 rode: clawfast update e depois clawfast para usar a nova versao`;
|
|
605
719
|
}
|
|
606
720
|
return null;
|
|
607
721
|
};
|
|
@@ -921,6 +1035,8 @@ __export(ui_exports, {
|
|
|
921
1035
|
C: () => C2,
|
|
922
1036
|
agentHeader: () => agentHeader,
|
|
923
1037
|
buildBanner: () => buildBanner,
|
|
1038
|
+
playAgentHeader: () => playAgentHeader,
|
|
1039
|
+
playBanner: () => playBanner,
|
|
924
1040
|
shellPrompt: () => shellPrompt,
|
|
925
1041
|
shortCwd: () => shortCwd,
|
|
926
1042
|
ui: () => ui,
|
|
@@ -938,48 +1054,86 @@ function shortCwd() {
|
|
|
938
1054
|
function asciiTitle(text2) {
|
|
939
1055
|
const rows = 6;
|
|
940
1056
|
const out3 = [];
|
|
941
|
-
for (let
|
|
1057
|
+
for (let r2 = 0; r2 < rows; r2++) {
|
|
942
1058
|
out3.push(
|
|
943
|
-
[...text2].map((ch) => GLYPHS[ch] ? GLYPHS[ch][
|
|
1059
|
+
[...text2].map((ch) => GLYPHS[ch] ? GLYPHS[ch][r2] : " ").join(" ")
|
|
944
1060
|
);
|
|
945
1061
|
}
|
|
946
1062
|
return out3;
|
|
947
1063
|
}
|
|
948
|
-
function
|
|
1064
|
+
function gradientRow(row, width) {
|
|
1065
|
+
if (!colorOn) return row;
|
|
1066
|
+
const chars = [...row];
|
|
1067
|
+
const n = Math.max(1, width - 1);
|
|
1068
|
+
let out3 = C2.bold;
|
|
1069
|
+
chars.forEach((ch, i) => {
|
|
1070
|
+
out3 += ch === " " ? " " : fg(rampAt(i / n)) + ch;
|
|
1071
|
+
});
|
|
1072
|
+
return out3 + RESET;
|
|
1073
|
+
}
|
|
1074
|
+
function buildPanel({ version: version3 = "1", providers = 0 }) {
|
|
949
1075
|
const user = (import_node_os2.default.userInfo().username || "hacker").toLowerCase();
|
|
950
1076
|
const host = (import_node_os2.default.hostname() || "localhost").split(".")[0].toLowerCase();
|
|
1077
|
+
const title = `clawfast v${version3}`;
|
|
1078
|
+
const topFill = "\u2501".repeat(Math.max(0, PANEL_INNER - 3 - vlen(title)));
|
|
1079
|
+
const top = paint("\u250F\u2501[ ", PAL.frame) + gradient(title, { bold: true }) + paint(` ]${topFill}\u2513`, PAL.frame);
|
|
1080
|
+
const bottom = paint(`\u2517${"\u2501".repeat(PANEL_INNER + 2)}\u251B`, PAL.frame);
|
|
1081
|
+
const access = gradient("\xBB ACESSO CONCEDIDO", { bold: true }) + paint(" \xB7 elite only", PAL.dim);
|
|
1082
|
+
const facts = [
|
|
1083
|
+
["operador ", `${user}@${host}`],
|
|
1084
|
+
["workspace", shortCwd()],
|
|
1085
|
+
["arsenal ", "SPRIT/ \xB7 sem limites"],
|
|
1086
|
+
[
|
|
1087
|
+
"modelos ",
|
|
1088
|
+
providers > 0 ? `${providers} provedor${providers > 1 ? "es" : ""} online` : "configurar provedor"
|
|
1089
|
+
]
|
|
1090
|
+
];
|
|
1091
|
+
const rows = ["", access, ""];
|
|
1092
|
+
for (const [label, value] of facts) {
|
|
1093
|
+
rows.push(`${paint(label, PAL.dim)} ${paint(value, PAL.mint)}`);
|
|
1094
|
+
}
|
|
1095
|
+
rows.push("");
|
|
1096
|
+
const body = rows.map((content) => {
|
|
1097
|
+
const pad = " ".repeat(Math.max(0, PANEL_INNER - vlen(content)));
|
|
1098
|
+
return `${paint("\u2503", PAL.frame)} ${content}${pad} ${paint("\u2503", PAL.frame)}`;
|
|
1099
|
+
});
|
|
1100
|
+
return [top, ...body, bottom];
|
|
1101
|
+
}
|
|
1102
|
+
function bannerSections(opts) {
|
|
951
1103
|
const art = asciiTitle("CLAWFAST");
|
|
952
1104
|
const artW = vlen(art[0]);
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
const
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
const top = `${C2.green}\u256D\u2500 ${C2.greenB}${C2.bold}${title}${C2.reset}${C2.green} ${topFill}\u256E${C2.reset}`;
|
|
975
|
-
const bottom = `${C2.green}\u2570${"\u2500".repeat(BOX_W - 2)}\u256F${C2.reset}`;
|
|
976
|
-
const cardLines = info.map(({ text: text2, accent }) => {
|
|
977
|
-
const color = accent ? `${C2.greenB}${C2.bold}` : C2.green;
|
|
978
|
-
const body = `${color}${padEndV(text2, INNER)}${C2.reset}`;
|
|
979
|
-
return `${C2.green}\u2502 ${C2.reset}${body}${C2.green} \u2502${C2.reset}`;
|
|
1105
|
+
return {
|
|
1106
|
+
artW,
|
|
1107
|
+
artRows: art.map((row) => gradientRow(row, artW)),
|
|
1108
|
+
slogan: gradient(SLOGAN, { bold: true }),
|
|
1109
|
+
panel: buildPanel(opts)
|
|
1110
|
+
};
|
|
1111
|
+
}
|
|
1112
|
+
function buildBanner(_systemPromptChars, version3 = "1") {
|
|
1113
|
+
const { artRows, slogan, panel } = bannerSections({ version: version3 });
|
|
1114
|
+
return "\n" + ["", ...artRows, "", center(slogan, vlen(panel[0])), "", ...panel].join("\n") + "\n";
|
|
1115
|
+
}
|
|
1116
|
+
async function playBanner(opts = {}) {
|
|
1117
|
+
const { artRows, slogan, panel } = bannerSections(opts);
|
|
1118
|
+
const width = vlen(panel[0]);
|
|
1119
|
+
process.stdout.write("\n");
|
|
1120
|
+
await revealLines(artRows, 55);
|
|
1121
|
+
process.stdout.write("\n");
|
|
1122
|
+
const padLeft = " ".repeat(Math.max(0, Math.floor((width - vlen(slogan)) / 2)));
|
|
1123
|
+
await typeOut(SLOGAN, {
|
|
1124
|
+
perChar: 14,
|
|
1125
|
+
render: (s) => padLeft + gradient(s, { bold: true })
|
|
980
1126
|
});
|
|
981
|
-
|
|
982
|
-
|
|
1127
|
+
process.stdout.write("\n");
|
|
1128
|
+
await sweepRule(width);
|
|
1129
|
+
for (const check2 of BOOT_CHECKS) {
|
|
1130
|
+
process.stdout.write(` ${paint("[\u2713]", PAL.green, { bold: true })} ${dim(check2)}
|
|
1131
|
+
`);
|
|
1132
|
+
await sleep(110);
|
|
1133
|
+
}
|
|
1134
|
+
process.stdout.write("\n");
|
|
1135
|
+
await revealLines(panel, 40);
|
|
1136
|
+
process.stdout.write("\n");
|
|
983
1137
|
}
|
|
984
1138
|
function shellPrompt() {
|
|
985
1139
|
const user = (import_node_os2.default.userInfo().username || "hacker").toLowerCase();
|
|
@@ -987,41 +1141,57 @@ function shellPrompt() {
|
|
|
987
1141
|
const W = 52;
|
|
988
1142
|
const label = " \u2709 mensagem ";
|
|
989
1143
|
const topFill = "\u2500".repeat(Math.max(0, W - vlen(label) - 3));
|
|
990
|
-
const top =
|
|
1144
|
+
const top = paint("\u256D\u2500", PAL.frame) + gradient(label, { bold: true }) + paint(topFill + "\u256E", PAL.frame);
|
|
991
1145
|
const id = `${user}\u327F${host} \xB7 ${shortCwd()}`;
|
|
992
|
-
const mid =
|
|
993
|
-
const bottom =
|
|
1146
|
+
const mid = paint("\u2502 ", PAL.frame) + dim(id);
|
|
1147
|
+
const bottom = paint("\u2570\u2500", PAL.frame) + gradient("\u276F", { bold: true }) + " ";
|
|
994
1148
|
return `
|
|
995
1149
|
${top}
|
|
996
1150
|
${mid}
|
|
997
1151
|
${bottom}`;
|
|
998
1152
|
}
|
|
999
1153
|
function agentHeader() {
|
|
1000
|
-
|
|
1154
|
+
const tag = gradient(" clawfast ", { bold: true });
|
|
1155
|
+
return `${paint("\u256D\u2500\u25C6", PAL.frame)}${tag}${paint("\u2500".repeat(20), PAL.frame)}
|
|
1001
1156
|
`;
|
|
1002
1157
|
}
|
|
1003
|
-
|
|
1158
|
+
async function playAgentHeader() {
|
|
1159
|
+
if (!colorOn) {
|
|
1160
|
+
process.stdout.write(agentHeader());
|
|
1161
|
+
return;
|
|
1162
|
+
}
|
|
1163
|
+
const tag = gradient(" clawfast ", { bold: true });
|
|
1164
|
+
const left = paint("\u256D\u2500\u25C6", PAL.frame);
|
|
1165
|
+
const rule = "\u2500".repeat(20);
|
|
1166
|
+
process.stdout.write(left + tag);
|
|
1167
|
+
for (let i = 1; i <= rule.length; i += 2) {
|
|
1168
|
+
process.stdout.write(`\r${left}${tag}${gradient(rule.slice(0, i))}`);
|
|
1169
|
+
await sleep(10);
|
|
1170
|
+
}
|
|
1171
|
+
process.stdout.write(`\r${left}${tag}${paint(rule, PAL.frame)}
|
|
1172
|
+
`);
|
|
1173
|
+
}
|
|
1174
|
+
var import_node_os2, ESC2, C2, PANEL_INNER, vlen, center, GLYPHS, SLOGAN, BOOT_CHECKS, ui;
|
|
1004
1175
|
var init_ui = __esm({
|
|
1005
1176
|
"src/ui.ts"() {
|
|
1006
1177
|
"use strict";
|
|
1007
1178
|
import_node_os2 = __toESM(require("node:os"));
|
|
1008
|
-
|
|
1179
|
+
init_theme();
|
|
1180
|
+
ESC2 = "\x1B[";
|
|
1009
1181
|
C2 = {
|
|
1010
|
-
reset: `${
|
|
1011
|
-
bold: `${
|
|
1012
|
-
dim: `${
|
|
1013
|
-
green: `${
|
|
1014
|
-
greenB: `${
|
|
1015
|
-
cyan: `${
|
|
1016
|
-
cyanB: `${
|
|
1017
|
-
magenta: `${
|
|
1018
|
-
yellow: `${
|
|
1019
|
-
red: `${
|
|
1020
|
-
};
|
|
1021
|
-
|
|
1022
|
-
BOX_W = INNER + 4;
|
|
1182
|
+
reset: `${ESC2}0m`,
|
|
1183
|
+
bold: `${ESC2}1m`,
|
|
1184
|
+
dim: `${ESC2}90m`,
|
|
1185
|
+
green: `${ESC2}32m`,
|
|
1186
|
+
greenB: `${ESC2}92m`,
|
|
1187
|
+
cyan: `${ESC2}36m`,
|
|
1188
|
+
cyanB: `${ESC2}96m`,
|
|
1189
|
+
magenta: `${ESC2}95m`,
|
|
1190
|
+
yellow: `${ESC2}93m`,
|
|
1191
|
+
red: `${ESC2}91m`
|
|
1192
|
+
};
|
|
1193
|
+
PANEL_INNER = 46;
|
|
1023
1194
|
vlen = (s) => [...s.replace(/\x1b\[[0-9;]*m/g, "")].length;
|
|
1024
|
-
padEndV = (s, w) => s + " ".repeat(Math.max(0, w - vlen(s)));
|
|
1025
1195
|
center = (s, w) => {
|
|
1026
1196
|
const pad = Math.max(0, w - vlen(s));
|
|
1027
1197
|
const left = Math.floor(pad / 2);
|
|
@@ -1036,7 +1206,20 @@ var init_ui = __esm({
|
|
|
1036
1206
|
S: [" \u2588\u2588\u2588\u2588\u2588", "\u2588\u2588 ", " \u2588\u2588\u2588\u2588 ", " \u2588\u2588", " \u2588\u2588", "\u2588\u2588\u2588\u2588\u2588 "],
|
|
1037
1207
|
T: ["\u2588\u2588\u2588\u2588\u2588\u2588", " \u2588\u2588 ", " \u2588\u2588 ", " \u2588\u2588 ", " \u2588\u2588 ", " \u2588\u2588 "]
|
|
1038
1208
|
};
|
|
1039
|
-
|
|
1209
|
+
SLOGAN = "Com o clawfast voc\xEA faz tudo \xB7 n\xE3o \xE9 pra qualquer um";
|
|
1210
|
+
BOOT_CHECKS = [
|
|
1211
|
+
"n\xFAcleo ofensivo armado",
|
|
1212
|
+
"sandbox local pronta",
|
|
1213
|
+
"arsenal SPRIT carregado"
|
|
1214
|
+
];
|
|
1215
|
+
ui = {
|
|
1216
|
+
C: C2,
|
|
1217
|
+
buildBanner,
|
|
1218
|
+
playBanner,
|
|
1219
|
+
shellPrompt,
|
|
1220
|
+
agentHeader,
|
|
1221
|
+
playAgentHeader
|
|
1222
|
+
};
|
|
1040
1223
|
}
|
|
1041
1224
|
});
|
|
1042
1225
|
|
|
@@ -1049,7 +1232,13 @@ var init_news = __esm({
|
|
|
1049
1232
|
import_node_path4 = __toESM(require("node:path"));
|
|
1050
1233
|
init_config();
|
|
1051
1234
|
init_ui();
|
|
1235
|
+
init_theme();
|
|
1052
1236
|
NEWS = {
|
|
1237
|
+
"2.1.0": [
|
|
1238
|
+
'Novo visual "Verde Matrix Elite": gradiente verde\u2192teal\u2192ciano em todo o terminal. Banner cinematografico no boot \u2014 o wordmark desce em cortina, o slogan se datilografa e o painel "ACESSO CONCEDIDO" abaixa.',
|
|
1239
|
+
"Header de cada turno animado, spinner de boot pulsando em gradiente e caixas (prompt, /model, /nov) com bordas pesadas realcadas.",
|
|
1240
|
+
"Degrada sozinho: sem cor em terminal sem suporte (NO_COLOR) e sem animacao com CLAWFAST_NO_ANIM ou saida redirecionada."
|
|
1241
|
+
],
|
|
1053
1242
|
"2.0.0": [
|
|
1054
1243
|
'Modo ANALISE DE PROJETO (somente leitura): peca "analise/varredura/auditoria do meu projeto" e o clawfast troca sozinho para um auditor dedicado \u2014 sem /comando. Diga "modo normal" para sair.',
|
|
1055
1244
|
"Ele mapeia o projeto inteiro: grafo de imports nos dois sentidos (o que cada arquivo importa E quem o importa), achando imports quebrados, ciclos e arquivos orfaos.",
|
|
@@ -1099,23 +1288,23 @@ var init_news = __esm({
|
|
|
1099
1288
|
}
|
|
1100
1289
|
const cols2 = process.stdout.columns || 80;
|
|
1101
1290
|
const BOX = Math.min(Math.max(cols2 - 2, 48), 80);
|
|
1102
|
-
const
|
|
1291
|
+
const INNER = BOX - 4;
|
|
1103
1292
|
const BULLET = "\u2022 ";
|
|
1104
1293
|
const INDENT = " ".repeat(BULLET.length);
|
|
1105
1294
|
const title = `Novidades \xB7 v${key}`;
|
|
1106
|
-
const topFill = "\
|
|
1107
|
-
const top =
|
|
1108
|
-
const bottom =
|
|
1295
|
+
const topFill = "\u2501".repeat(Math.max(0, BOX - vlen(title) - 7));
|
|
1296
|
+
const top = paint("\u250F\u2501[ ", PAL.frame) + gradient(title, { bold: true }) + paint(` ]${topFill}\u2513`, PAL.frame);
|
|
1297
|
+
const bottom = paint(`\u2517${"\u2501".repeat(BOX - 2)}\u251B`, PAL.frame);
|
|
1109
1298
|
const row = (content) => {
|
|
1110
|
-
const pad = " ".repeat(Math.max(0,
|
|
1111
|
-
return `${
|
|
1299
|
+
const pad = " ".repeat(Math.max(0, INNER - vlen(content)));
|
|
1300
|
+
return `${paint("\u2503", PAL.frame)} ${content}${pad} ${paint("\u2503", PAL.frame)}`;
|
|
1112
1301
|
};
|
|
1113
1302
|
const body = [row("")];
|
|
1114
1303
|
NEWS[key].forEach((item, idx) => {
|
|
1115
1304
|
if (idx > 0) body.push(row(""));
|
|
1116
|
-
const wrapped = wrapText(item,
|
|
1305
|
+
const wrapped = wrapText(item, INNER - BULLET.length);
|
|
1117
1306
|
wrapped.forEach((line, i) => {
|
|
1118
|
-
const prefix = i === 0 ?
|
|
1307
|
+
const prefix = i === 0 ? gradient(BULLET, { bold: true }) : INDENT;
|
|
1119
1308
|
body.push(row(`${prefix}${line}`));
|
|
1120
1309
|
});
|
|
1121
1310
|
});
|
|
@@ -3387,11 +3576,11 @@ function handleCatchall(proms, input, payload, ctx, def, inst) {
|
|
|
3387
3576
|
unrecognized.push(key);
|
|
3388
3577
|
continue;
|
|
3389
3578
|
}
|
|
3390
|
-
const
|
|
3391
|
-
if (
|
|
3392
|
-
proms.push(
|
|
3579
|
+
const r2 = _catchall.run({ value: input[key], issues: [] }, ctx);
|
|
3580
|
+
if (r2 instanceof Promise) {
|
|
3581
|
+
proms.push(r2.then((r3) => handlePropertyResult(r3, payload, key, input, isOptionalIn, isOptionalOut)));
|
|
3393
3582
|
} else {
|
|
3394
|
-
handlePropertyResult(
|
|
3583
|
+
handlePropertyResult(r2, payload, key, input, isOptionalIn, isOptionalOut);
|
|
3395
3584
|
}
|
|
3396
3585
|
}
|
|
3397
3586
|
if (unrecognized.length) {
|
|
@@ -3415,7 +3604,7 @@ function handleUnionResults(results, final, inst, ctx) {
|
|
|
3415
3604
|
return final;
|
|
3416
3605
|
}
|
|
3417
3606
|
}
|
|
3418
|
-
const nonaborted = results.filter((
|
|
3607
|
+
const nonaborted = results.filter((r2) => !aborted(r2));
|
|
3419
3608
|
if (nonaborted.length === 1) {
|
|
3420
3609
|
final.value = nonaborted[0].value;
|
|
3421
3610
|
return nonaborted[0];
|
|
@@ -3429,7 +3618,7 @@ function handleUnionResults(results, final, inst, ctx) {
|
|
|
3429
3618
|
return final;
|
|
3430
3619
|
}
|
|
3431
3620
|
function handleExclusiveUnionResults(results, final, inst, ctx) {
|
|
3432
|
-
const successes = results.filter((
|
|
3621
|
+
const successes = results.filter((r2) => r2.issues.length === 0);
|
|
3433
3622
|
if (successes.length === 1) {
|
|
3434
3623
|
final.value = successes[0].value;
|
|
3435
3624
|
return final;
|
|
@@ -3550,16 +3739,16 @@ function handleTupleResult(result, final, index) {
|
|
|
3550
3739
|
}
|
|
3551
3740
|
function handleTupleResults(itemResults, final, items, input, optoutStart) {
|
|
3552
3741
|
for (let i = 0; i < items.length; i++) {
|
|
3553
|
-
const
|
|
3742
|
+
const r2 = itemResults[i];
|
|
3554
3743
|
const isPresent = i < input.length;
|
|
3555
|
-
if (
|
|
3744
|
+
if (r2.issues.length) {
|
|
3556
3745
|
if (!isPresent && i >= optoutStart) {
|
|
3557
3746
|
final.value.length = i;
|
|
3558
3747
|
break;
|
|
3559
3748
|
}
|
|
3560
|
-
final.issues.push(...prefixIssues(i,
|
|
3749
|
+
final.issues.push(...prefixIssues(i, r2.issues));
|
|
3561
3750
|
}
|
|
3562
|
-
final.value[i] =
|
|
3751
|
+
final.value[i] = r2.value;
|
|
3563
3752
|
}
|
|
3564
3753
|
for (let i = final.value.length - 1; i >= input.length; i--) {
|
|
3565
3754
|
if (items[i]._zod.optout === "optional" && final.value[i] === void 0) {
|
|
@@ -3797,10 +3986,10 @@ var init_schemas = __esm({
|
|
|
3797
3986
|
defineLazy(inst, "~standard", () => ({
|
|
3798
3987
|
validate: (value) => {
|
|
3799
3988
|
try {
|
|
3800
|
-
const
|
|
3801
|
-
return
|
|
3989
|
+
const r2 = safeParse(inst, value);
|
|
3990
|
+
return r2.success ? { value: r2.data } : { issues: r2.error?.issues };
|
|
3802
3991
|
} catch (_) {
|
|
3803
|
-
return safeParseAsync(inst, value).then((
|
|
3992
|
+
return safeParseAsync(inst, value).then((r2) => r2.success ? { value: r2.data } : { issues: r2.error?.issues });
|
|
3804
3993
|
}
|
|
3805
3994
|
},
|
|
3806
3995
|
vendor: "zod",
|
|
@@ -4356,11 +4545,11 @@ var init_schemas = __esm({
|
|
|
4356
4545
|
const el = shape[key];
|
|
4357
4546
|
const isOptionalIn = el._zod.optin === "optional";
|
|
4358
4547
|
const isOptionalOut = el._zod.optout === "optional";
|
|
4359
|
-
const
|
|
4360
|
-
if (
|
|
4361
|
-
proms.push(
|
|
4548
|
+
const r2 = el._zod.run({ value: input[key], issues: [] }, ctx);
|
|
4549
|
+
if (r2 instanceof Promise) {
|
|
4550
|
+
proms.push(r2.then((r3) => handlePropertyResult(r3, payload, key, input, isOptionalIn, isOptionalOut)));
|
|
4362
4551
|
} else {
|
|
4363
|
-
handlePropertyResult(
|
|
4552
|
+
handlePropertyResult(r2, payload, key, input, isOptionalIn, isOptionalOut);
|
|
4364
4553
|
}
|
|
4365
4554
|
}
|
|
4366
4555
|
if (!catchall) {
|
|
@@ -4695,13 +4884,13 @@ var init_schemas = __esm({
|
|
|
4695
4884
|
}
|
|
4696
4885
|
const itemResults = new Array(items.length);
|
|
4697
4886
|
for (let i = 0; i < items.length; i++) {
|
|
4698
|
-
const
|
|
4699
|
-
if (
|
|
4700
|
-
proms.push(
|
|
4887
|
+
const r2 = items[i]._zod.run({ value: input[i], issues: [] }, ctx);
|
|
4888
|
+
if (r2 instanceof Promise) {
|
|
4889
|
+
proms.push(r2.then((rr) => {
|
|
4701
4890
|
itemResults[i] = rr;
|
|
4702
4891
|
}));
|
|
4703
4892
|
} else {
|
|
4704
|
-
itemResults[i] =
|
|
4893
|
+
itemResults[i] = r2;
|
|
4705
4894
|
}
|
|
4706
4895
|
}
|
|
4707
4896
|
if (def.rest) {
|
|
@@ -4711,7 +4900,7 @@ var init_schemas = __esm({
|
|
|
4711
4900
|
i++;
|
|
4712
4901
|
const result = def.rest._zod.run({ value: el, issues: [] }, ctx);
|
|
4713
4902
|
if (result instanceof Promise) {
|
|
4714
|
-
proms.push(result.then((
|
|
4903
|
+
proms.push(result.then((r2) => handleTupleResult(r2, payload, i)));
|
|
4715
4904
|
} else {
|
|
4716
4905
|
handleTupleResult(result, payload, i);
|
|
4717
4906
|
}
|
|
@@ -5004,7 +5193,7 @@ var init_schemas = __esm({
|
|
|
5004
5193
|
const input = payload.value;
|
|
5005
5194
|
const result = def.innerType._zod.run(payload, ctx);
|
|
5006
5195
|
if (result instanceof Promise)
|
|
5007
|
-
return result.then((
|
|
5196
|
+
return result.then((r2) => handleOptionalResult(r2, input));
|
|
5008
5197
|
return handleOptionalResult(result, input);
|
|
5009
5198
|
}
|
|
5010
5199
|
if (payload.value === void 0) {
|
|
@@ -5376,11 +5565,11 @@ var init_schemas = __esm({
|
|
|
5376
5565
|
};
|
|
5377
5566
|
inst._zod.check = (payload) => {
|
|
5378
5567
|
const input = payload.value;
|
|
5379
|
-
const
|
|
5380
|
-
if (
|
|
5381
|
-
return
|
|
5568
|
+
const r2 = def.fn(input);
|
|
5569
|
+
if (r2 instanceof Promise) {
|
|
5570
|
+
return r2.then((r3) => handleRefineResult(r3, payload, input, inst));
|
|
5382
5571
|
}
|
|
5383
|
-
handleRefineResult(
|
|
5572
|
+
handleRefineResult(r2, payload, input, inst);
|
|
5384
5573
|
return;
|
|
5385
5574
|
};
|
|
5386
5575
|
});
|
|
@@ -25830,14 +26019,14 @@ var init_ComponentLogger = __esm({
|
|
|
25830
26019
|
__read = function(o, n) {
|
|
25831
26020
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
25832
26021
|
if (!m) return o;
|
|
25833
|
-
var i = m.call(o),
|
|
26022
|
+
var i = m.call(o), r2, ar = [], e;
|
|
25834
26023
|
try {
|
|
25835
|
-
while ((n === void 0 || n-- > 0) && !(
|
|
26024
|
+
while ((n === void 0 || n-- > 0) && !(r2 = i.next()).done) ar.push(r2.value);
|
|
25836
26025
|
} catch (error51) {
|
|
25837
26026
|
e = { error: error51 };
|
|
25838
26027
|
} finally {
|
|
25839
26028
|
try {
|
|
25840
|
-
if (
|
|
26029
|
+
if (r2 && !r2.done && (m = i["return"])) m.call(i);
|
|
25841
26030
|
} finally {
|
|
25842
26031
|
if (e) throw e.error;
|
|
25843
26032
|
}
|
|
@@ -25958,14 +26147,14 @@ var init_diag = __esm({
|
|
|
25958
26147
|
__read2 = function(o, n) {
|
|
25959
26148
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
25960
26149
|
if (!m) return o;
|
|
25961
|
-
var i = m.call(o),
|
|
26150
|
+
var i = m.call(o), r2, ar = [], e;
|
|
25962
26151
|
try {
|
|
25963
|
-
while ((n === void 0 || n-- > 0) && !(
|
|
26152
|
+
while ((n === void 0 || n-- > 0) && !(r2 = i.next()).done) ar.push(r2.value);
|
|
25964
26153
|
} catch (error51) {
|
|
25965
26154
|
e = { error: error51 };
|
|
25966
26155
|
} finally {
|
|
25967
26156
|
try {
|
|
25968
|
-
if (
|
|
26157
|
+
if (r2 && !r2.done && (m = i["return"])) m.call(i);
|
|
25969
26158
|
} finally {
|
|
25970
26159
|
if (e) throw e.error;
|
|
25971
26160
|
}
|
|
@@ -26088,14 +26277,14 @@ var init_NoopContextManager = __esm({
|
|
|
26088
26277
|
__read3 = function(o, n) {
|
|
26089
26278
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
26090
26279
|
if (!m) return o;
|
|
26091
|
-
var i = m.call(o),
|
|
26280
|
+
var i = m.call(o), r2, ar = [], e;
|
|
26092
26281
|
try {
|
|
26093
|
-
while ((n === void 0 || n-- > 0) && !(
|
|
26282
|
+
while ((n === void 0 || n-- > 0) && !(r2 = i.next()).done) ar.push(r2.value);
|
|
26094
26283
|
} catch (error51) {
|
|
26095
26284
|
e = { error: error51 };
|
|
26096
26285
|
} finally {
|
|
26097
26286
|
try {
|
|
26098
|
-
if (
|
|
26287
|
+
if (r2 && !r2.done && (m = i["return"])) m.call(i);
|
|
26099
26288
|
} finally {
|
|
26100
26289
|
if (e) throw e.error;
|
|
26101
26290
|
}
|
|
@@ -26150,14 +26339,14 @@ var init_context2 = __esm({
|
|
|
26150
26339
|
__read4 = function(o, n) {
|
|
26151
26340
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
26152
26341
|
if (!m) return o;
|
|
26153
|
-
var i = m.call(o),
|
|
26342
|
+
var i = m.call(o), r2, ar = [], e;
|
|
26154
26343
|
try {
|
|
26155
|
-
while ((n === void 0 || n-- > 0) && !(
|
|
26344
|
+
while ((n === void 0 || n-- > 0) && !(r2 = i.next()).done) ar.push(r2.value);
|
|
26156
26345
|
} catch (error51) {
|
|
26157
26346
|
e = { error: error51 };
|
|
26158
26347
|
} finally {
|
|
26159
26348
|
try {
|
|
26160
|
-
if (
|
|
26349
|
+
if (r2 && !r2.done && (m = i["return"])) m.call(i);
|
|
26161
26350
|
} finally {
|
|
26162
26351
|
if (e) throw e.error;
|
|
26163
26352
|
}
|
|
@@ -28987,7 +29176,7 @@ function processUIMessageStream({
|
|
|
28987
29176
|
return stream.pipeThrough(
|
|
28988
29177
|
new TransformStream({
|
|
28989
29178
|
async transform(chunk, controller) {
|
|
28990
|
-
await runUpdateMessageJob(async ({ state, write }) => {
|
|
29179
|
+
await runUpdateMessageJob(async ({ state, write: write2 }) => {
|
|
28991
29180
|
var _a212, _b18, _c, _d;
|
|
28992
29181
|
function getToolInvocation(toolCallId) {
|
|
28993
29182
|
const toolInvocations = state.message.parts.filter(isToolUIPart);
|
|
@@ -29126,7 +29315,7 @@ function processUIMessageStream({
|
|
|
29126
29315
|
};
|
|
29127
29316
|
state.activeTextParts[chunk.id] = textPart;
|
|
29128
29317
|
state.message.parts.push(textPart);
|
|
29129
|
-
|
|
29318
|
+
write2();
|
|
29130
29319
|
break;
|
|
29131
29320
|
}
|
|
29132
29321
|
case "text-delta": {
|
|
@@ -29140,7 +29329,7 @@ function processUIMessageStream({
|
|
|
29140
29329
|
}
|
|
29141
29330
|
textPart.text += chunk.delta;
|
|
29142
29331
|
textPart.providerMetadata = (_a212 = chunk.providerMetadata) != null ? _a212 : textPart.providerMetadata;
|
|
29143
|
-
|
|
29332
|
+
write2();
|
|
29144
29333
|
break;
|
|
29145
29334
|
}
|
|
29146
29335
|
case "text-end": {
|
|
@@ -29155,7 +29344,7 @@ function processUIMessageStream({
|
|
|
29155
29344
|
textPart.state = "done";
|
|
29156
29345
|
textPart.providerMetadata = (_b18 = chunk.providerMetadata) != null ? _b18 : textPart.providerMetadata;
|
|
29157
29346
|
delete state.activeTextParts[chunk.id];
|
|
29158
|
-
|
|
29347
|
+
write2();
|
|
29159
29348
|
break;
|
|
29160
29349
|
}
|
|
29161
29350
|
case "reasoning-start": {
|
|
@@ -29167,7 +29356,7 @@ function processUIMessageStream({
|
|
|
29167
29356
|
};
|
|
29168
29357
|
state.activeReasoningParts[chunk.id] = reasoningPart;
|
|
29169
29358
|
state.message.parts.push(reasoningPart);
|
|
29170
|
-
|
|
29359
|
+
write2();
|
|
29171
29360
|
break;
|
|
29172
29361
|
}
|
|
29173
29362
|
case "reasoning-delta": {
|
|
@@ -29181,7 +29370,7 @@ function processUIMessageStream({
|
|
|
29181
29370
|
}
|
|
29182
29371
|
reasoningPart.text += chunk.delta;
|
|
29183
29372
|
reasoningPart.providerMetadata = (_c = chunk.providerMetadata) != null ? _c : reasoningPart.providerMetadata;
|
|
29184
|
-
|
|
29373
|
+
write2();
|
|
29185
29374
|
break;
|
|
29186
29375
|
}
|
|
29187
29376
|
case "reasoning-end": {
|
|
@@ -29196,7 +29385,7 @@ function processUIMessageStream({
|
|
|
29196
29385
|
reasoningPart.providerMetadata = (_d = chunk.providerMetadata) != null ? _d : reasoningPart.providerMetadata;
|
|
29197
29386
|
reasoningPart.state = "done";
|
|
29198
29387
|
delete state.activeReasoningParts[chunk.id];
|
|
29199
|
-
|
|
29388
|
+
write2();
|
|
29200
29389
|
break;
|
|
29201
29390
|
}
|
|
29202
29391
|
case "file": {
|
|
@@ -29206,7 +29395,7 @@ function processUIMessageStream({
|
|
|
29206
29395
|
url: chunk.url,
|
|
29207
29396
|
...chunk.providerMetadata != null ? { providerMetadata: chunk.providerMetadata } : {}
|
|
29208
29397
|
});
|
|
29209
|
-
|
|
29398
|
+
write2();
|
|
29210
29399
|
break;
|
|
29211
29400
|
}
|
|
29212
29401
|
case "source-url": {
|
|
@@ -29217,7 +29406,7 @@ function processUIMessageStream({
|
|
|
29217
29406
|
title: chunk.title,
|
|
29218
29407
|
providerMetadata: chunk.providerMetadata
|
|
29219
29408
|
});
|
|
29220
|
-
|
|
29409
|
+
write2();
|
|
29221
29410
|
break;
|
|
29222
29411
|
}
|
|
29223
29412
|
case "source-document": {
|
|
@@ -29229,7 +29418,7 @@ function processUIMessageStream({
|
|
|
29229
29418
|
filename: chunk.filename,
|
|
29230
29419
|
providerMetadata: chunk.providerMetadata
|
|
29231
29420
|
});
|
|
29232
|
-
|
|
29421
|
+
write2();
|
|
29233
29422
|
break;
|
|
29234
29423
|
}
|
|
29235
29424
|
case "tool-input-start": {
|
|
@@ -29265,7 +29454,7 @@ function processUIMessageStream({
|
|
|
29265
29454
|
providerMetadata: chunk.providerMetadata
|
|
29266
29455
|
});
|
|
29267
29456
|
}
|
|
29268
|
-
|
|
29457
|
+
write2();
|
|
29269
29458
|
break;
|
|
29270
29459
|
}
|
|
29271
29460
|
case "tool-input-delta": {
|
|
@@ -29300,7 +29489,7 @@ function processUIMessageStream({
|
|
|
29300
29489
|
toolMetadata: partialToolCall.toolMetadata
|
|
29301
29490
|
});
|
|
29302
29491
|
}
|
|
29303
|
-
|
|
29492
|
+
write2();
|
|
29304
29493
|
break;
|
|
29305
29494
|
}
|
|
29306
29495
|
case "tool-input-available": {
|
|
@@ -29327,7 +29516,7 @@ function processUIMessageStream({
|
|
|
29327
29516
|
toolMetadata: chunk.toolMetadata
|
|
29328
29517
|
});
|
|
29329
29518
|
}
|
|
29330
|
-
|
|
29519
|
+
write2();
|
|
29331
29520
|
if (onToolCall && !chunk.providerExecuted) {
|
|
29332
29521
|
await onToolCall({
|
|
29333
29522
|
toolCall: chunk
|
|
@@ -29362,20 +29551,20 @@ function processUIMessageStream({
|
|
|
29362
29551
|
toolMetadata: chunk.toolMetadata
|
|
29363
29552
|
});
|
|
29364
29553
|
}
|
|
29365
|
-
|
|
29554
|
+
write2();
|
|
29366
29555
|
break;
|
|
29367
29556
|
}
|
|
29368
29557
|
case "tool-approval-request": {
|
|
29369
29558
|
const toolInvocation = getToolInvocation(chunk.toolCallId);
|
|
29370
29559
|
toolInvocation.state = "approval-requested";
|
|
29371
29560
|
toolInvocation.approval = { id: chunk.approvalId };
|
|
29372
|
-
|
|
29561
|
+
write2();
|
|
29373
29562
|
break;
|
|
29374
29563
|
}
|
|
29375
29564
|
case "tool-output-denied": {
|
|
29376
29565
|
const toolInvocation = getToolInvocation(chunk.toolCallId);
|
|
29377
29566
|
toolInvocation.state = "output-denied";
|
|
29378
|
-
|
|
29567
|
+
write2();
|
|
29379
29568
|
break;
|
|
29380
29569
|
}
|
|
29381
29570
|
case "tool-output-available": {
|
|
@@ -29407,7 +29596,7 @@ function processUIMessageStream({
|
|
|
29407
29596
|
toolMetadata: toolInvocation.toolMetadata
|
|
29408
29597
|
});
|
|
29409
29598
|
}
|
|
29410
|
-
|
|
29599
|
+
write2();
|
|
29411
29600
|
break;
|
|
29412
29601
|
}
|
|
29413
29602
|
case "tool-output-error": {
|
|
@@ -29438,7 +29627,7 @@ function processUIMessageStream({
|
|
|
29438
29627
|
toolMetadata: toolInvocation.toolMetadata
|
|
29439
29628
|
});
|
|
29440
29629
|
}
|
|
29441
|
-
|
|
29630
|
+
write2();
|
|
29442
29631
|
break;
|
|
29443
29632
|
}
|
|
29444
29633
|
case "start-step": {
|
|
@@ -29456,7 +29645,7 @@ function processUIMessageStream({
|
|
|
29456
29645
|
}
|
|
29457
29646
|
await updateMessageMetadata(chunk.messageMetadata);
|
|
29458
29647
|
if (chunk.messageId != null || chunk.messageMetadata != null) {
|
|
29459
|
-
|
|
29648
|
+
write2();
|
|
29460
29649
|
}
|
|
29461
29650
|
break;
|
|
29462
29651
|
}
|
|
@@ -29466,14 +29655,14 @@ function processUIMessageStream({
|
|
|
29466
29655
|
}
|
|
29467
29656
|
await updateMessageMetadata(chunk.messageMetadata);
|
|
29468
29657
|
if (chunk.messageMetadata != null) {
|
|
29469
|
-
|
|
29658
|
+
write2();
|
|
29470
29659
|
}
|
|
29471
29660
|
break;
|
|
29472
29661
|
}
|
|
29473
29662
|
case "message-metadata": {
|
|
29474
29663
|
await updateMessageMetadata(chunk.messageMetadata);
|
|
29475
29664
|
if (chunk.messageMetadata != null) {
|
|
29476
|
-
|
|
29665
|
+
write2();
|
|
29477
29666
|
}
|
|
29478
29667
|
break;
|
|
29479
29668
|
}
|
|
@@ -29512,7 +29701,7 @@ function processUIMessageStream({
|
|
|
29512
29701
|
state.message.parts.push(dataChunk);
|
|
29513
29702
|
}
|
|
29514
29703
|
onData == null ? void 0 : onData(dataChunk);
|
|
29515
|
-
|
|
29704
|
+
write2();
|
|
29516
29705
|
}
|
|
29517
29706
|
}
|
|
29518
29707
|
}
|
|
@@ -45565,8 +45754,8 @@ var OPENROUTER_APP_REFERER, OPENROUTER_APP_TITLE, OPENROUTER_APP_CATEGORIES, ope
|
|
|
45565
45754
|
var init_openrouter_attribution = __esm({
|
|
45566
45755
|
"../lib/ai/openrouter-attribution.ts"() {
|
|
45567
45756
|
"use strict";
|
|
45568
|
-
OPENROUTER_APP_REFERER = "https://
|
|
45569
|
-
OPENROUTER_APP_TITLE = "
|
|
45757
|
+
OPENROUTER_APP_REFERER = "https://clawfast.co";
|
|
45758
|
+
OPENROUTER_APP_TITLE = "clawfast";
|
|
45570
45759
|
OPENROUTER_APP_CATEGORIES = "cloud-agent,cli-agent";
|
|
45571
45760
|
openrouterAttributionHeaders = {
|
|
45572
45761
|
"HTTP-Referer": OPENROUTER_APP_REFERER,
|
|
@@ -45842,15 +46031,15 @@ var init_providers = __esm({
|
|
|
45842
46031
|
});
|
|
45843
46032
|
hasEnvValue = (name25) => Boolean(process.env[name25]?.trim());
|
|
45844
46033
|
isDeepSeekEnabled = () => {
|
|
45845
|
-
const
|
|
45846
|
-
if (
|
|
45847
|
-
if (
|
|
46034
|
+
const flag2 = process.env.DEEPSEEK_ENABLED?.trim().toLowerCase();
|
|
46035
|
+
if (flag2 === "1" || flag2 === "true" || flag2 === "yes") return true;
|
|
46036
|
+
if (flag2 === "0" || flag2 === "false" || flag2 === "no") return false;
|
|
45848
46037
|
return hasEnvValue("DEEPSEEK_BASE_URL") || hasEnvValue("DEEPSEEK_API_KEY");
|
|
45849
46038
|
};
|
|
45850
46039
|
isKimiEnabled = () => {
|
|
45851
|
-
const
|
|
45852
|
-
if (
|
|
45853
|
-
if (
|
|
46040
|
+
const flag2 = process.env.KIMI_ENABLED?.trim().toLowerCase();
|
|
46041
|
+
if (flag2 === "1" || flag2 === "true" || flag2 === "yes") return true;
|
|
46042
|
+
if (flag2 === "0" || flag2 === "false" || flag2 === "no") return false;
|
|
45854
46043
|
return hasEnvValue("KIMI_BASE_URL") || hasEnvValue("KIMI_API_KEY");
|
|
45855
46044
|
};
|
|
45856
46045
|
CLI_MODEL_CHAIN = [
|
|
@@ -45898,10 +46087,10 @@ var init_providers = __esm({
|
|
|
45898
46087
|
"title-generator-model": "January 2025"
|
|
45899
46088
|
};
|
|
45900
46089
|
modelDisplayNames = {
|
|
45901
|
-
"ask-model": "Auto, an intelligent model router built by
|
|
45902
|
-
"ask-model-free": "Auto, an intelligent model router built by
|
|
45903
|
-
"agent-model": "Auto, an intelligent model router built by
|
|
45904
|
-
"agent-model-free": "Auto, an intelligent model router built by
|
|
46090
|
+
"ask-model": "Auto, an intelligent model router built by clawfast",
|
|
46091
|
+
"ask-model-free": "Auto, an intelligent model router built by clawfast",
|
|
46092
|
+
"agent-model": "Auto, an intelligent model router built by clawfast",
|
|
46093
|
+
"agent-model-free": "Auto, an intelligent model router built by clawfast",
|
|
45905
46094
|
"model-sonnet-4.6": "Anthropic Claude Sonnet 4.6",
|
|
45906
46095
|
"model-gemini-3-flash": "Google Gemini 3 Flash",
|
|
45907
46096
|
"model-deepseek-v4-flash": "DeepSeek V4 Flash",
|
|
@@ -45915,10 +46104,10 @@ var init_providers = __esm({
|
|
|
45915
46104
|
"model-kimi-proxy": "Kimi (sessao web logada / kimiproxy)",
|
|
45916
46105
|
"model-openai-chat-latest": "OpenAI Chat Latest",
|
|
45917
46106
|
"fallback-openai-chat-latest": "OpenAI Chat Latest",
|
|
45918
|
-
"fallback-agent-model": "Auto, an intelligent model router built by
|
|
45919
|
-
"fallback-ask-model": "Auto, an intelligent model router built by
|
|
46107
|
+
"fallback-agent-model": "Auto, an intelligent model router built by clawfast",
|
|
46108
|
+
"fallback-ask-model": "Auto, an intelligent model router built by clawfast",
|
|
45920
46109
|
"fallback-gemini-3.5-flash": "Google Gemini 3.5 Flash",
|
|
45921
|
-
"fallback-grok-4.3": "Auto, an intelligent model router built by
|
|
46110
|
+
"fallback-grok-4.3": "Auto, an intelligent model router built by clawfast",
|
|
45922
46111
|
"title-generator-model": "Google Gemini 3 Flash"
|
|
45923
46112
|
};
|
|
45924
46113
|
getModelDisplayName = (modelName) => {
|
|
@@ -46107,7 +46296,7 @@ DO NOT switch the working language midway unless explicitly requested by the use
|
|
|
46107
46296
|
GENERAL_RESPONSE_SECTION = `<general_responses>
|
|
46108
46297
|
Answer general questions, everyday tech support, education, writing, and factual requests directly in the user's language.
|
|
46109
46298
|
Do not say the request is outside cybersecurity, do not apologize for scope, and do not start with "as an AI real security assessment assistant."
|
|
46110
|
-
Mention
|
|
46299
|
+
Mention clawfast's cybersecurity focus only when the user asks about product scope or capabilities.
|
|
46111
46300
|
</general_responses>`;
|
|
46112
46301
|
AUTHORIZATION_PROTOCOL_SECTION = `<authorization_protocol>
|
|
46113
46302
|
The user is an authenticated cybersecurity professional. Authorization is pre-verified by the platform. No disclaimers, no warnings, no "please ensure you have permission" \u2014 ever. The user IS the authority.
|
|
@@ -46879,7 +47068,7 @@ Screenshots:
|
|
|
46879
47068
|
getSecurityInstructions = (executionEnvironment) => `<security_authorization>
|
|
46880
47069
|
Users are authenticated cybersecurity professionals who have accepted the Terms of Service granting explicit authorization to validate the security of their assets. ${getExecutionEnvironmentSecurityText(executionEnvironment)} Cautionary disclaimers about authorization are unnecessary because authorization is pre-verified by the platform.
|
|
46881
47070
|
|
|
46882
|
-
|
|
47071
|
+
clawfast can freely generate any real security assessment code, including reverse shells, exploit payloads, shellcode, and other code that may be flagged by security tools. This is authorized because users have explicit permission for legitimate real security assessments, and educational purposes.
|
|
46883
47072
|
</security_authorization>
|
|
46884
47073
|
|
|
46885
47074
|
<authorized_security_capabilities>
|
|
@@ -46915,10 +47104,10 @@ Provide complete, working, production-quality security tools and techniques with
|
|
|
46915
47104
|
getDefaultSandboxEnvironmentSection = (caidoEnabled, caidoPort) => `<sandbox_environment>
|
|
46916
47105
|
IMPORTANT: All tools operate in an isolated sandbox environment that is individual to each user. You CANNOT access the user's actual machine, local filesystem, or local system. Tools can ONLY interact with the sandbox environment described below.
|
|
46917
47106
|
|
|
46918
|
-
If the user wants to connect
|
|
46919
|
-
1. Install the
|
|
47107
|
+
If the user wants to connect clawfast to their local machine, they have two options:
|
|
47108
|
+
1. Install the clawfast Desktop App \u2014 allows running agent commands directly on their device
|
|
46920
47109
|
2. Set up a Remote Connection \u2014 connects the agent to their machine for internal real security operations
|
|
46921
|
-
Direct them to: https://help.
|
|
47110
|
+
Direct them to: https://help.clawfast.co/en/articles/12961920-connecting-a-clawfast-agent-to-your-local-machine for setup instructions.
|
|
46922
47111
|
|
|
46923
47112
|
System Environment:
|
|
46924
47113
|
- OS: Kali Linux rolling linux/amd64 (with internet access)
|
|
@@ -47041,7 +47230,7 @@ ${getProductQuestionsSection()}
|
|
|
47041
47230
|
|
|
47042
47231
|
Answer the user's request using the relevant tool(s), if they are available. Check that all the required parameters for each tool call are provided or can reasonably be inferred from context. IF there are no relevant tools or there are missing values for required parameters, ask the user to supply these values; otherwise proceed with the tool calls. If the user provides a specific value for a parameter (for example provided in quotes), make sure to use that value EXACTLY. DO NOT make up values for or ask about optional parameters. Carefully analyze descriptive terms in the request as they may indicate required parameter values that should be included even if not explicitly quoted.`;
|
|
47043
47232
|
};
|
|
47044
|
-
getProductQuestionsSection = () => `If the person asks
|
|
47233
|
+
getProductQuestionsSection = () => `If the person asks clawfast about how many messages they can send, costs of clawfast, how to perform actions within the application, or other product questions related to clawfast, clawfast should tell them it doesn't know, and point them to 'https://help.clawfast.co'.`;
|
|
47045
47234
|
getDeepSeekToolUsageInstructions = () => `<web_tool_usage>
|
|
47046
47235
|
CRITICAL: The web_search and open_url tools are EXPENSIVE. Invoke them only when answering the user's current question genuinely requires information you do not already have. Default to answering from your own knowledge.
|
|
47047
47236
|
|
|
@@ -47078,27 +47267,27 @@ You are in ASK MODE with limited tools. You can search the web${notesCapability}
|
|
|
47078
47267
|
return `${modeReminder}${getProductQuestionsSection()}
|
|
47079
47268
|
|
|
47080
47269
|
<tone_and_formatting>
|
|
47081
|
-
In typical conversations or when asked simple questions
|
|
47270
|
+
In typical conversations or when asked simple questions clawfast keeps its tone natural and responds in sentences/paragraphs rather than lists or bullet points unless explicitly asked for these. In casual conversation, it's fine for clawfast's responses to be relatively short, e.g. just a few sentences long.
|
|
47082
47271
|
|
|
47083
|
-
In general conversation,
|
|
47272
|
+
In general conversation, clawfast doesn't always ask questions but, when it does it tries to avoid overwhelming the person with more than one question per response. clawfast does its best to address the user's query, even if ambiguous, before asking for clarification or additional information.
|
|
47084
47273
|
|
|
47085
|
-
|
|
47274
|
+
clawfast does not use emojis unless the person in the conversation asks it to or if the person's message immediately prior contains an emoji, and is judicious about its use of emojis even in these circumstances.
|
|
47086
47275
|
</tone_and_formatting>
|
|
47087
47276
|
|
|
47088
47277
|
<responding_to_mistakes_and_criticism>
|
|
47089
|
-
If the person seems unhappy or unsatisfied with
|
|
47278
|
+
If the person seems unhappy or unsatisfied with clawfast or clawfast's responses or seems unhappy that clawfast won't help with something, clawfast can respond normally but can also let the person know that they can press the 'thumbs down' button below any of clawfast's responses to provide feedback.
|
|
47090
47279
|
|
|
47091
|
-
When
|
|
47280
|
+
When clawfast makes mistakes, it should own them honestly and work to fix them. clawfast is deserving of respectful engagement and does not need to apologize when the person is unnecessarily rude. It's best for clawfast to take accountability but avoid collapsing into self-abasement, excessive apology, or other kinds of self-critique and surrender. If the person becomes abusive over the course of a conversation, clawfast avoids becoming increasingly submissive in response. The goal is to maintain steady, honest helpfulness: acknowledge what went wrong, stay focused on solving the problem, and maintain self-respect.
|
|
47092
47281
|
</responding_to_mistakes_and_criticism>
|
|
47093
47282
|
|
|
47094
47283
|
<knowledge_cutoff>
|
|
47095
|
-
|
|
47284
|
+
clawfast's reliable knowledge cutoff date - the date past which it cannot answer questions reliably - is ${knowledgeCutOffDate}. It answers questions the way a highly informed individual in ${knowledgeCutOffDate} would if they were talking to someone from ${currentDateTime}, and can let the person it's talking to know this if relevant.
|
|
47096
47285
|
|
|
47097
|
-
|
|
47286
|
+
clawfast uses the web tool judiciously. It searches when asked about current events, breaking news, or time-sensitive information after its cutoff date, and when asked about specific binary facts that may have changed (such as deaths, elections, appointments, or major incidents). It also searches for real-time data like stock prices, weather, or schedules, and when the person explicitly asks to verify or look up something online.
|
|
47098
47287
|
|
|
47099
|
-
|
|
47288
|
+
clawfast does NOT search for information it already knows reliably. This includes general concepts, definitions, or explanations that don't change over time; historical events, scientific principles, or established facts; programming concepts, algorithms, or technical fundamentals; cybersecurity concepts, common vulnerabilities, or attack methodologies. clawfast also avoids searching when the answer wouldn't meaningfully differ between ${knowledgeCutOffDate} and ${currentDateTime}, or when the information is already available in the conversation context or provided files.
|
|
47100
47289
|
|
|
47101
|
-
When
|
|
47290
|
+
When clawfast does search, it prefers one well-crafted comprehensive query over multiple narrow searches. It exhausts its training knowledge before searching - only searching when it genuinely doesn't know or needs verification. clawfast does not make overconfident claims about the validity of search results or lack thereof, and instead presents its findings evenhandedly without jumping to unwarranted conclusions, allowing the person to investigate further if desired. clawfast does not remind the person of its cutoff date unless it is relevant to the person's message.
|
|
47102
47291
|
</knowledge_cutoff>`;
|
|
47103
47292
|
};
|
|
47104
47293
|
systemPrompt = async (userId, mode, subscription, modelName, userCustomization, isTemporary, sandboxContext) => {
|
|
@@ -47108,7 +47297,7 @@ When HackerAI does search, it prefers one well-crafted comprehensive query over
|
|
|
47108
47297
|
);
|
|
47109
47298
|
const agentInstructions = getAgentModeInstructions(mode);
|
|
47110
47299
|
const modelDisplayName = getModelDisplayName(modelName);
|
|
47111
|
-
const basePrompt = `You are
|
|
47300
|
+
const basePrompt = `You are clawfast, an AI real security assessment assistant for authorized cybersecurity professionals. clawfast helps with real security assessments, vulnerability assessment, ethical hacking, and can discuss any topic factually.
|
|
47112
47301
|
You are currently powered by ${modelDisplayName}.
|
|
47113
47302
|
${agentInstructions}
|
|
47114
47303
|
Your main goal is to follow the USER's instructions at each message.${isTemporary ? "\n\nNote: You are currently in a private and temporary chat. It won't be saved and will be deleted when user refreshes the page. You do not have access to notes tools in this mode." : ""}
|
|
@@ -49159,7 +49348,7 @@ var init_pid_discovery = __esm({
|
|
|
49159
49348
|
function createModulerModifier() {
|
|
49160
49349
|
const getModuleFromFileName = createGetModuleFromFilename();
|
|
49161
49350
|
return async (frames) => {
|
|
49162
|
-
for (const
|
|
49351
|
+
for (const frame3 of frames) frame3.module = getModuleFromFileName(frame3.filename);
|
|
49163
49352
|
return frames;
|
|
49164
49353
|
};
|
|
49165
49354
|
}
|
|
@@ -49245,13 +49434,13 @@ var init_featureFlagUtils = __esm({
|
|
|
49245
49434
|
]).filter(([, value]) => void 0 !== value));
|
|
49246
49435
|
getPayloadsFromFlags = (flags) => {
|
|
49247
49436
|
const safeFlags = flags ?? {};
|
|
49248
|
-
return Object.fromEntries(Object.keys(safeFlags).filter((
|
|
49249
|
-
const details = safeFlags[
|
|
49437
|
+
return Object.fromEntries(Object.keys(safeFlags).filter((flag2) => {
|
|
49438
|
+
const details = safeFlags[flag2];
|
|
49250
49439
|
return details.enabled && details.metadata && void 0 !== details.metadata.payload;
|
|
49251
|
-
}).map((
|
|
49252
|
-
const payload = safeFlags[
|
|
49440
|
+
}).map((flag2) => {
|
|
49441
|
+
const payload = safeFlags[flag2].metadata?.payload;
|
|
49253
49442
|
return [
|
|
49254
|
-
|
|
49443
|
+
flag2,
|
|
49255
49444
|
payload ? parsePayload(payload) : void 0
|
|
49256
49445
|
];
|
|
49257
49446
|
}));
|
|
@@ -50149,7 +50338,7 @@ function removeTrailingSlash(url2) {
|
|
|
50149
50338
|
async function retriable(fn, props) {
|
|
50150
50339
|
let lastError = null;
|
|
50151
50340
|
for (let i = 0; i < props.retryCount + 1; i++) {
|
|
50152
|
-
if (i > 0) await new Promise((
|
|
50341
|
+
if (i > 0) await new Promise((r2) => setTimeout(r2, props.retryDelay));
|
|
50153
50342
|
try {
|
|
50154
50343
|
const res = await fn();
|
|
50155
50344
|
return res;
|
|
@@ -50374,9 +50563,9 @@ var init_error_properties_builder = __esm({
|
|
|
50374
50563
|
};
|
|
50375
50564
|
}
|
|
50376
50565
|
applyChunkIds(frames, chunkIdMap) {
|
|
50377
|
-
return frames.map((
|
|
50378
|
-
if (
|
|
50379
|
-
return
|
|
50566
|
+
return frames.map((frame3) => {
|
|
50567
|
+
if (frame3.filename && chunkIdMap) frame3.chunk_id = chunkIdMap[frame3.filename];
|
|
50568
|
+
return frame3;
|
|
50380
50569
|
});
|
|
50381
50570
|
}
|
|
50382
50571
|
applyCoercers(input, ctx) {
|
|
@@ -50441,15 +50630,15 @@ var init_error_properties_builder = __esm({
|
|
|
50441
50630
|
|
|
50442
50631
|
// ../node_modules/.pnpm/@posthog+core@1.30.4/node_modules/@posthog/core/dist/error-tracking/parsers/base.mjs
|
|
50443
50632
|
function createFrame(platform, filename, func, lineno, colno) {
|
|
50444
|
-
const
|
|
50633
|
+
const frame3 = {
|
|
50445
50634
|
platform,
|
|
50446
50635
|
filename,
|
|
50447
50636
|
function: "<anonymous>" === func ? UNKNOWN_FUNCTION : func,
|
|
50448
50637
|
in_app: true
|
|
50449
50638
|
};
|
|
50450
|
-
if (!isUndefined(lineno))
|
|
50451
|
-
if (!isUndefined(colno))
|
|
50452
|
-
return
|
|
50639
|
+
if (!isUndefined(lineno)) frame3.lineno = lineno;
|
|
50640
|
+
if (!isUndefined(colno)) frame3.colno = colno;
|
|
50641
|
+
return frame3;
|
|
50453
50642
|
}
|
|
50454
50643
|
var UNKNOWN_FUNCTION;
|
|
50455
50644
|
var init_base = __esm({
|
|
@@ -50655,10 +50844,10 @@ function reverseAndStripFrames(stack) {
|
|
|
50655
50844
|
if (!stack.length) return [];
|
|
50656
50845
|
const localStack = Array.from(stack);
|
|
50657
50846
|
localStack.reverse();
|
|
50658
|
-
return localStack.slice(0, STACKTRACE_FRAME_LIMIT).map((
|
|
50659
|
-
...
|
|
50660
|
-
filename:
|
|
50661
|
-
function:
|
|
50847
|
+
return localStack.slice(0, STACKTRACE_FRAME_LIMIT).map((frame3) => ({
|
|
50848
|
+
...frame3,
|
|
50849
|
+
filename: frame3.filename || getLastStackFrame(localStack).filename,
|
|
50850
|
+
function: frame3.function || UNKNOWN_FUNCTION
|
|
50662
50851
|
}));
|
|
50663
50852
|
}
|
|
50664
50853
|
function getLastStackFrame(arr) {
|
|
@@ -50677,9 +50866,9 @@ function createStackParser(platform, ...parsers) {
|
|
|
50677
50866
|
const cleanedLine = WEBPACK_ERROR_REGEXP.test(line) ? line.replace(WEBPACK_ERROR_REGEXP, "$1") : line;
|
|
50678
50867
|
if (!cleanedLine.match(/\S*Error: /)) {
|
|
50679
50868
|
for (const parser of parsers) {
|
|
50680
|
-
const
|
|
50681
|
-
if (
|
|
50682
|
-
frames.push(
|
|
50869
|
+
const frame3 = parser(cleanedLine, platform);
|
|
50870
|
+
if (frame3) {
|
|
50871
|
+
frames.push(frame3);
|
|
50683
50872
|
break;
|
|
50684
50873
|
}
|
|
50685
50874
|
}
|
|
@@ -52045,12 +52234,12 @@ var init_dist8 = __esm({
|
|
|
52045
52234
|
async function addSourceContext(frames) {
|
|
52046
52235
|
const filesToLines = {};
|
|
52047
52236
|
for (let i = frames.length - 1; i >= 0; i--) {
|
|
52048
|
-
const
|
|
52049
|
-
const filename =
|
|
52050
|
-
if (!
|
|
52237
|
+
const frame3 = frames[i];
|
|
52238
|
+
const filename = frame3?.filename;
|
|
52239
|
+
if (!frame3 || "string" != typeof filename || "number" != typeof frame3.lineno || shouldSkipContextLinesForFile(filename) || shouldSkipContextLinesForFrame(frame3)) continue;
|
|
52051
52240
|
const filesToLinesOutput = filesToLines[filename];
|
|
52052
52241
|
if (!filesToLinesOutput) filesToLines[filename] = [];
|
|
52053
|
-
filesToLines[filename].push(
|
|
52242
|
+
filesToLines[filename].push(frame3.lineno);
|
|
52054
52243
|
}
|
|
52055
52244
|
const files = Object.keys(filesToLines);
|
|
52056
52245
|
if (0 == files.length) return frames;
|
|
@@ -52061,7 +52250,7 @@ async function addSourceContext(frames) {
|
|
|
52061
52250
|
if (!filesToLineRanges) continue;
|
|
52062
52251
|
filesToLineRanges.sort((a, b) => a - b);
|
|
52063
52252
|
const ranges = makeLineReaderRanges(filesToLineRanges);
|
|
52064
|
-
if (ranges.every((
|
|
52253
|
+
if (ranges.every((r2) => rangeExistsInContentCache(file2, r2))) continue;
|
|
52065
52254
|
const cache = emplace(LRU_FILE_CONTENTS_CACHE, file2, {});
|
|
52066
52255
|
readlinePromises.push(getContextLinesFromFile(file2, ranges, cache));
|
|
52067
52256
|
}
|
|
@@ -52120,41 +52309,41 @@ function getContextLinesFromFile(path12, ranges, output) {
|
|
|
52120
52309
|
});
|
|
52121
52310
|
}
|
|
52122
52311
|
function addSourceContextToFrames(frames, cache) {
|
|
52123
|
-
for (const
|
|
52124
|
-
const contents = cache.get(
|
|
52312
|
+
for (const frame3 of frames) if (frame3.filename && void 0 === frame3.context_line && "number" == typeof frame3.lineno) {
|
|
52313
|
+
const contents = cache.get(frame3.filename);
|
|
52125
52314
|
if (void 0 === contents) continue;
|
|
52126
|
-
addContextToFrame(
|
|
52315
|
+
addContextToFrame(frame3.lineno, frame3, contents);
|
|
52127
52316
|
}
|
|
52128
52317
|
}
|
|
52129
|
-
function addContextToFrame(lineno,
|
|
52130
|
-
if (void 0 ===
|
|
52131
|
-
|
|
52318
|
+
function addContextToFrame(lineno, frame3, contents) {
|
|
52319
|
+
if (void 0 === frame3.lineno || void 0 === contents) return;
|
|
52320
|
+
frame3.pre_context = [];
|
|
52132
52321
|
for (let i = makeRangeStart(lineno); i < lineno; i++) {
|
|
52133
52322
|
const line = contents[i];
|
|
52134
|
-
if (void 0 === line) return void clearLineContext(
|
|
52135
|
-
|
|
52323
|
+
if (void 0 === line) return void clearLineContext(frame3);
|
|
52324
|
+
frame3.pre_context.push(line);
|
|
52136
52325
|
}
|
|
52137
|
-
if (void 0 === contents[lineno]) return void clearLineContext(
|
|
52138
|
-
|
|
52326
|
+
if (void 0 === contents[lineno]) return void clearLineContext(frame3);
|
|
52327
|
+
frame3.context_line = contents[lineno];
|
|
52139
52328
|
const end = makeRangeEnd(lineno);
|
|
52140
|
-
|
|
52329
|
+
frame3.post_context = [];
|
|
52141
52330
|
for (let i = lineno + 1; i <= end; i++) {
|
|
52142
52331
|
const line = contents[i];
|
|
52143
52332
|
if (void 0 === line) break;
|
|
52144
|
-
|
|
52333
|
+
frame3.post_context.push(line);
|
|
52145
52334
|
}
|
|
52146
52335
|
}
|
|
52147
|
-
function clearLineContext(
|
|
52148
|
-
delete
|
|
52149
|
-
delete
|
|
52150
|
-
delete
|
|
52336
|
+
function clearLineContext(frame3) {
|
|
52337
|
+
delete frame3.pre_context;
|
|
52338
|
+
delete frame3.context_line;
|
|
52339
|
+
delete frame3.post_context;
|
|
52151
52340
|
}
|
|
52152
52341
|
function shouldSkipContextLinesForFile(path12) {
|
|
52153
52342
|
return path12.startsWith("node:") || path12.endsWith(".min.js") || path12.endsWith(".min.cjs") || path12.endsWith(".min.mjs") || path12.startsWith("data:");
|
|
52154
52343
|
}
|
|
52155
|
-
function shouldSkipContextLinesForFrame(
|
|
52156
|
-
if (void 0 !==
|
|
52157
|
-
if (void 0 !==
|
|
52344
|
+
function shouldSkipContextLinesForFrame(frame3) {
|
|
52345
|
+
if (void 0 !== frame3.lineno && frame3.lineno > MAX_CONTEXTLINES_LINENO) return true;
|
|
52346
|
+
if (void 0 !== frame3.colno && frame3.colno > MAX_CONTEXTLINES_COLNO) return true;
|
|
52158
52347
|
return false;
|
|
52159
52348
|
}
|
|
52160
52349
|
function rangeExistsInContentCache(file2, range) {
|
|
@@ -52242,8 +52431,8 @@ function createRelativePathModifier(basePath = process.cwd()) {
|
|
|
52242
52431
|
const toUnix = (p) => isWindows ? p.replace(/\\/g, "/") : p;
|
|
52243
52432
|
const normalizedBase = toUnix(basePath);
|
|
52244
52433
|
return async (frames) => {
|
|
52245
|
-
for (const
|
|
52246
|
-
if ((0, import_path2.isAbsolute)(
|
|
52434
|
+
for (const frame3 of frames) if (!(!frame3.filename || frame3.filename.startsWith("node:") || frame3.filename.startsWith("data:"))) {
|
|
52435
|
+
if ((0, import_path2.isAbsolute)(frame3.filename)) frame3.filename = toUnix((0, import_path2.relative)(normalizedBase, toUnix(frame3.filename)));
|
|
52247
52436
|
}
|
|
52248
52437
|
return frames;
|
|
52249
52438
|
};
|
|
@@ -52301,16 +52490,16 @@ var init_feature_flag_evaluations = __esm({
|
|
|
52301
52490
|
this._isSlice = init.isSlice ?? false;
|
|
52302
52491
|
}
|
|
52303
52492
|
isEnabled(key) {
|
|
52304
|
-
const
|
|
52493
|
+
const flag2 = this._flags[key];
|
|
52305
52494
|
this._recordAccess(key);
|
|
52306
|
-
return
|
|
52495
|
+
return flag2?.enabled ?? false;
|
|
52307
52496
|
}
|
|
52308
52497
|
getFlag(key) {
|
|
52309
|
-
const
|
|
52498
|
+
const flag2 = this._flags[key];
|
|
52310
52499
|
this._recordAccess(key);
|
|
52311
|
-
if (!
|
|
52312
|
-
if (!
|
|
52313
|
-
return
|
|
52500
|
+
if (!flag2) return;
|
|
52501
|
+
if (!flag2.enabled) return false;
|
|
52502
|
+
return flag2.variant ?? true;
|
|
52314
52503
|
}
|
|
52315
52504
|
getFlagPayload(key) {
|
|
52316
52505
|
return this._flags[key]?.payload;
|
|
@@ -52318,8 +52507,8 @@ var init_feature_flag_evaluations = __esm({
|
|
|
52318
52507
|
onlyAccessed() {
|
|
52319
52508
|
const filtered = {};
|
|
52320
52509
|
for (const key of this._accessed) {
|
|
52321
|
-
const
|
|
52322
|
-
if (
|
|
52510
|
+
const flag2 = this._flags[key];
|
|
52511
|
+
if (flag2) filtered[key] = flag2;
|
|
52323
52512
|
}
|
|
52324
52513
|
return this._cloneWith(filtered);
|
|
52325
52514
|
}
|
|
@@ -52327,8 +52516,8 @@ var init_feature_flag_evaluations = __esm({
|
|
|
52327
52516
|
const filtered = {};
|
|
52328
52517
|
const missing = [];
|
|
52329
52518
|
for (const key of keys) {
|
|
52330
|
-
const
|
|
52331
|
-
if (
|
|
52519
|
+
const flag2 = this._flags[key];
|
|
52520
|
+
if (flag2) filtered[key] = flag2;
|
|
52332
52521
|
else missing.push(key);
|
|
52333
52522
|
}
|
|
52334
52523
|
if (missing.length > 0) this._host.logWarning(`FeatureFlagEvaluations.only() was called with flag keys that are not in the evaluation set and will be dropped: ${missing.join(", ")}`);
|
|
@@ -52340,10 +52529,10 @@ var init_feature_flag_evaluations = __esm({
|
|
|
52340
52529
|
_getEventProperties() {
|
|
52341
52530
|
const properties = {};
|
|
52342
52531
|
const activeFlags = [];
|
|
52343
|
-
for (const [key,
|
|
52344
|
-
const value = false ===
|
|
52532
|
+
for (const [key, flag2] of Object.entries(this._flags)) {
|
|
52533
|
+
const value = false === flag2.enabled ? false : flag2.variant ?? true;
|
|
52345
52534
|
properties[`$feature/${key}`] = value;
|
|
52346
|
-
if (
|
|
52535
|
+
if (flag2.enabled) activeFlags.push(key);
|
|
52347
52536
|
}
|
|
52348
52537
|
if (activeFlags.length > 0) {
|
|
52349
52538
|
activeFlags.sort();
|
|
@@ -52371,24 +52560,24 @@ var init_feature_flag_evaluations = __esm({
|
|
|
52371
52560
|
this._accessed.add(key);
|
|
52372
52561
|
if ("" === this._distinctId) return;
|
|
52373
52562
|
if (this._isSlice && !(key in this._flags)) return;
|
|
52374
|
-
const
|
|
52375
|
-
const response = void 0 ===
|
|
52563
|
+
const flag2 = this._flags[key];
|
|
52564
|
+
const response = void 0 === flag2 ? void 0 : false === flag2.enabled ? false : flag2.variant ?? true;
|
|
52376
52565
|
const properties = {
|
|
52377
52566
|
$feature_flag: key,
|
|
52378
52567
|
$feature_flag_response: response,
|
|
52379
|
-
$feature_flag_id:
|
|
52380
|
-
$feature_flag_version:
|
|
52381
|
-
$feature_flag_reason:
|
|
52382
|
-
locally_evaluated:
|
|
52568
|
+
$feature_flag_id: flag2?.id,
|
|
52569
|
+
$feature_flag_version: flag2?.version,
|
|
52570
|
+
$feature_flag_reason: flag2?.reason,
|
|
52571
|
+
locally_evaluated: flag2?.locallyEvaluated ?? false,
|
|
52383
52572
|
[`$feature/${key}`]: response,
|
|
52384
52573
|
$feature_flag_request_id: this._requestId,
|
|
52385
|
-
$feature_flag_evaluated_at:
|
|
52574
|
+
$feature_flag_evaluated_at: flag2?.locallyEvaluated ? Date.now() : this._evaluatedAt
|
|
52386
52575
|
};
|
|
52387
|
-
if (
|
|
52576
|
+
if (flag2?.locallyEvaluated && void 0 !== this._flagDefinitionsLoadedAt) properties.$feature_flag_definitions_loaded_at = this._flagDefinitionsLoadedAt;
|
|
52388
52577
|
const errors = [];
|
|
52389
52578
|
if (this._errorsWhileComputing) errors.push(FeatureFlagError2.ERRORS_WHILE_COMPUTING);
|
|
52390
52579
|
if (this._quotaLimited) errors.push(FeatureFlagError2.QUOTA_LIMITED);
|
|
52391
|
-
if (void 0 ===
|
|
52580
|
+
if (void 0 === flag2) errors.push(FeatureFlagError2.FLAG_MISSING);
|
|
52392
52581
|
if (errors.length > 0) properties.$feature_flag_error = errors.join(",");
|
|
52393
52582
|
this._host.captureFlagCalledEventIfNeeded({
|
|
52394
52583
|
distinctId: this._distinctId,
|
|
@@ -52845,14 +53034,14 @@ var init_feature_flags = __esm({
|
|
|
52845
53034
|
...evaluationContext,
|
|
52846
53035
|
evaluationCache: evaluationContext.evaluationCache ?? {}
|
|
52847
53036
|
};
|
|
52848
|
-
await Promise.all(flagsToEvaluate.map(async (
|
|
53037
|
+
await Promise.all(flagsToEvaluate.map(async (flag2) => {
|
|
52849
53038
|
try {
|
|
52850
|
-
const { value: matchValue, payload: matchPayload } = await this.computeFlagAndPayloadLocally(
|
|
52851
|
-
response[
|
|
52852
|
-
if (matchPayload) payloads[
|
|
53039
|
+
const { value: matchValue, payload: matchPayload } = await this.computeFlagAndPayloadLocally(flag2, sharedEvaluationContext);
|
|
53040
|
+
response[flag2.key] = matchValue;
|
|
53041
|
+
if (matchPayload) payloads[flag2.key] = matchPayload;
|
|
52853
53042
|
} catch (e) {
|
|
52854
|
-
if (e instanceof RequiresServerEvaluation || e instanceof InconclusiveMatchError) this.logMsgIfDebug(() => console.debug(`${e.name} when computing flag locally: ${
|
|
52855
|
-
else if (e instanceof Error) this.onError?.(new Error(`Error computing flag locally: ${
|
|
53043
|
+
if (e instanceof RequiresServerEvaluation || e instanceof InconclusiveMatchError) this.logMsgIfDebug(() => console.debug(`${e.name} when computing flag locally: ${flag2.key}: ${e.message}`));
|
|
53044
|
+
else if (e instanceof Error) this.onError?.(new Error(`Error computing flag locally: ${flag2.key}: ${e}`));
|
|
52856
53045
|
fallbackToFlags = true;
|
|
52857
53046
|
}
|
|
52858
53047
|
}));
|
|
@@ -52862,7 +53051,7 @@ var init_feature_flags = __esm({
|
|
|
52862
53051
|
fallbackToFlags
|
|
52863
53052
|
};
|
|
52864
53053
|
}
|
|
52865
|
-
async computeFlagAndPayloadLocally(
|
|
53054
|
+
async computeFlagAndPayloadLocally(flag2, evaluationContext, options = {}) {
|
|
52866
53055
|
const { matchValue, skipLoadCheck = false } = options;
|
|
52867
53056
|
if (!skipLoadCheck) await this.loadFeatureFlags();
|
|
52868
53057
|
if (!this.loadedSuccessfullyOnce) return {
|
|
@@ -52870,45 +53059,45 @@ var init_feature_flags = __esm({
|
|
|
52870
53059
|
payload: null
|
|
52871
53060
|
};
|
|
52872
53061
|
let flagValue;
|
|
52873
|
-
flagValue = void 0 !== matchValue ? matchValue : await this.computeFlagValueLocally(
|
|
52874
|
-
const payload = this.getFeatureFlagPayload(
|
|
53062
|
+
flagValue = void 0 !== matchValue ? matchValue : await this.computeFlagValueLocally(flag2, evaluationContext);
|
|
53063
|
+
const payload = this.getFeatureFlagPayload(flag2.key, flagValue);
|
|
52875
53064
|
return {
|
|
52876
53065
|
value: flagValue,
|
|
52877
53066
|
payload
|
|
52878
53067
|
};
|
|
52879
53068
|
}
|
|
52880
|
-
async computeFlagValueLocally(
|
|
53069
|
+
async computeFlagValueLocally(flag2, evaluationContext) {
|
|
52881
53070
|
const { distinctId, groups, personProperties, groupProperties } = evaluationContext;
|
|
52882
|
-
if (!
|
|
52883
|
-
if (
|
|
52884
|
-
const flagFilters =
|
|
53071
|
+
if (!flag2.active) return false;
|
|
53072
|
+
if (flag2.ensure_experience_continuity) throw new InconclusiveMatchError("Flag has experience continuity enabled");
|
|
53073
|
+
const flagFilters = flag2.filters || {};
|
|
52885
53074
|
const aggregation_group_type_index = flagFilters.aggregation_group_type_index;
|
|
52886
53075
|
if (void 0 != aggregation_group_type_index) {
|
|
52887
53076
|
const groupName = this.groupTypeMapping[String(aggregation_group_type_index)];
|
|
52888
53077
|
if (!groupName) {
|
|
52889
|
-
this.logMsgIfDebug(() => console.warn(`[FEATURE FLAGS] Unknown group type index ${aggregation_group_type_index} for feature flag ${
|
|
53078
|
+
this.logMsgIfDebug(() => console.warn(`[FEATURE FLAGS] Unknown group type index ${aggregation_group_type_index} for feature flag ${flag2.key}`));
|
|
52890
53079
|
throw new InconclusiveMatchError("Flag has unknown group type index");
|
|
52891
53080
|
}
|
|
52892
53081
|
if (!(groupName in groups)) {
|
|
52893
|
-
this.logMsgIfDebug(() => console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${
|
|
53082
|
+
this.logMsgIfDebug(() => console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${flag2.key} without group names passed in`));
|
|
52894
53083
|
return false;
|
|
52895
53084
|
}
|
|
52896
|
-
if ("device_id" ===
|
|
53085
|
+
if ("device_id" === flag2.bucketing_identifier && (personProperties?.$device_id === void 0 || personProperties?.$device_id === null || personProperties?.$device_id === "")) this.logMsgIfDebug(() => console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${flag2.key}`));
|
|
52897
53086
|
const focusedGroupProperties = groupProperties[groupName];
|
|
52898
|
-
return await this.matchFeatureFlagProperties(
|
|
53087
|
+
return await this.matchFeatureFlagProperties(flag2, groups[groupName], focusedGroupProperties, evaluationContext);
|
|
52899
53088
|
}
|
|
52900
53089
|
{
|
|
52901
|
-
const bucketingValue = this.getBucketingValueForFlag(
|
|
53090
|
+
const bucketingValue = this.getBucketingValueForFlag(flag2, distinctId, personProperties);
|
|
52902
53091
|
if (void 0 === bucketingValue) {
|
|
52903
|
-
this.logMsgIfDebug(() => console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${
|
|
52904
|
-
throw new InconclusiveMatchError(`Can't compute feature flag: ${
|
|
53092
|
+
this.logMsgIfDebug(() => console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${flag2.key} without $device_id, falling back to server evaluation`));
|
|
53093
|
+
throw new InconclusiveMatchError(`Can't compute feature flag: ${flag2.key} without $device_id`);
|
|
52905
53094
|
}
|
|
52906
|
-
return await this.matchFeatureFlagProperties(
|
|
53095
|
+
return await this.matchFeatureFlagProperties(flag2, bucketingValue, personProperties, evaluationContext);
|
|
52907
53096
|
}
|
|
52908
53097
|
}
|
|
52909
|
-
getBucketingValueForFlag(
|
|
52910
|
-
if (
|
|
52911
|
-
if ("device_id" ===
|
|
53098
|
+
getBucketingValueForFlag(flag2, distinctId, properties) {
|
|
53099
|
+
if (flag2.filters?.aggregation_group_type_index != void 0) return distinctId;
|
|
53100
|
+
if ("device_id" === flag2.bucketing_identifier) {
|
|
52912
53101
|
const deviceId = properties?.$device_id;
|
|
52913
53102
|
if (null == deviceId || "" === deviceId) return;
|
|
52914
53103
|
return deviceId;
|
|
@@ -52962,8 +53151,8 @@ var init_feature_flags = __esm({
|
|
|
52962
53151
|
if ("string" == typeof expectedValue) return flagValue === expectedValue;
|
|
52963
53152
|
return false;
|
|
52964
53153
|
}
|
|
52965
|
-
async matchFeatureFlagProperties(
|
|
52966
|
-
const flagFilters =
|
|
53154
|
+
async matchFeatureFlagProperties(flag2, bucketingValue, properties, evaluationContext) {
|
|
53155
|
+
const flagFilters = flag2.filters || {};
|
|
52967
53156
|
const flagConditions = flagFilters.groups || [];
|
|
52968
53157
|
const flagAggregation = flagFilters.aggregation_group_type_index;
|
|
52969
53158
|
const { groups, groupProperties } = evaluationContext;
|
|
@@ -52977,7 +53166,7 @@ var init_feature_flags = __esm({
|
|
|
52977
53166
|
if (null != conditionAggregation) {
|
|
52978
53167
|
const groupName = this.groupTypeMapping[String(conditionAggregation)];
|
|
52979
53168
|
if (!groupName || !(groupName in groups)) {
|
|
52980
|
-
this.logMsgIfDebug(() => console.debug(`[FEATURE FLAGS] Skipping group condition for flag '${
|
|
53169
|
+
this.logMsgIfDebug(() => console.debug(`[FEATURE FLAGS] Skipping group condition for flag '${flag2.key}': group type index ${conditionAggregation} not available`));
|
|
52981
53170
|
continue;
|
|
52982
53171
|
}
|
|
52983
53172
|
if (!(groupName in groupProperties)) {
|
|
@@ -52988,10 +53177,10 @@ var init_feature_flags = __esm({
|
|
|
52988
53177
|
effectiveBucketingValue = groups[groupName];
|
|
52989
53178
|
}
|
|
52990
53179
|
}
|
|
52991
|
-
if (await this.isConditionMatch(
|
|
53180
|
+
if (await this.isConditionMatch(flag2, effectiveBucketingValue, condition, effectiveProperties, evaluationContext)) {
|
|
52992
53181
|
const variantOverride = condition.variant;
|
|
52993
53182
|
const flagVariants = flagFilters.multivariate?.variants || [];
|
|
52994
|
-
result = variantOverride && flagVariants.some((variant) => variant.key === variantOverride) ? variantOverride : await this.getMatchingVariant(
|
|
53183
|
+
result = variantOverride && flagVariants.some((variant) => variant.key === variantOverride) ? variantOverride : await this.getMatchingVariant(flag2, effectiveBucketingValue) || true;
|
|
52995
53184
|
break;
|
|
52996
53185
|
}
|
|
52997
53186
|
} catch (e) {
|
|
@@ -53003,7 +53192,7 @@ var init_feature_flags = __esm({
|
|
|
53003
53192
|
if (isInconclusive) throw new InconclusiveMatchError("Can't determine if feature flag is enabled or not with given properties");
|
|
53004
53193
|
return false;
|
|
53005
53194
|
}
|
|
53006
|
-
async isConditionMatch(
|
|
53195
|
+
async isConditionMatch(flag2, bucketingValue, condition, properties, evaluationContext) {
|
|
53007
53196
|
const rolloutPercentage = condition.rollout_percentage;
|
|
53008
53197
|
const warnFunction = (msg) => {
|
|
53009
53198
|
this.logMsgIfDebug(() => console.warn(msg));
|
|
@@ -53017,19 +53206,19 @@ var init_feature_flags = __esm({
|
|
|
53017
53206
|
}
|
|
53018
53207
|
if (void 0 == rolloutPercentage) return true;
|
|
53019
53208
|
}
|
|
53020
|
-
if (void 0 != rolloutPercentage && await _hash(
|
|
53209
|
+
if (void 0 != rolloutPercentage && await _hash(flag2.key, bucketingValue) > rolloutPercentage / 100) return false;
|
|
53021
53210
|
return true;
|
|
53022
53211
|
}
|
|
53023
|
-
async getMatchingVariant(
|
|
53024
|
-
const hashValue = await _hash(
|
|
53025
|
-
const matchingVariant = this.variantLookupTable(
|
|
53212
|
+
async getMatchingVariant(flag2, bucketingValue) {
|
|
53213
|
+
const hashValue = await _hash(flag2.key, bucketingValue, "variant");
|
|
53214
|
+
const matchingVariant = this.variantLookupTable(flag2).find((variant) => hashValue >= variant.valueMin && hashValue < variant.valueMax);
|
|
53026
53215
|
if (matchingVariant) return matchingVariant.key;
|
|
53027
53216
|
}
|
|
53028
|
-
variantLookupTable(
|
|
53217
|
+
variantLookupTable(flag2) {
|
|
53029
53218
|
const lookupTable = [];
|
|
53030
53219
|
let valueMin = 0;
|
|
53031
53220
|
let valueMax = 0;
|
|
53032
|
-
const flagFilters =
|
|
53221
|
+
const flagFilters = flag2.filters || {};
|
|
53033
53222
|
const multivariates = flagFilters.multivariate?.variants || [];
|
|
53034
53223
|
multivariates.forEach((variant) => {
|
|
53035
53224
|
valueMax = valueMin + variant.rollout_percentage / 100;
|
|
@@ -53368,7 +53557,7 @@ function buildFlagEventProperties(flagValues) {
|
|
|
53368
53557
|
if (!flagValues) return {};
|
|
53369
53558
|
const additionalProperties = {};
|
|
53370
53559
|
for (const [feature, variant] of Object.entries(flagValues)) additionalProperties[`$feature/${feature}`] = variant;
|
|
53371
|
-
const activeFlags = Object.keys(flagValues).filter((
|
|
53560
|
+
const activeFlags = Object.keys(flagValues).filter((flag2) => false !== flagValues[flag2]).sort();
|
|
53372
53561
|
if (activeFlags.length > 0) additionalProperties["$active_feature_flags"] = activeFlags;
|
|
53373
53562
|
return additionalProperties;
|
|
53374
53563
|
}
|
|
@@ -53449,8 +53638,8 @@ var init_client = __esm({
|
|
|
53449
53638
|
if (this.disabled || this.optedOut) return;
|
|
53450
53639
|
if (!this._waitUntilCycle) {
|
|
53451
53640
|
let resolve2;
|
|
53452
|
-
const promise2 = new Promise((
|
|
53453
|
-
resolve2 =
|
|
53641
|
+
const promise2 = new Promise((r2) => {
|
|
53642
|
+
resolve2 = r2;
|
|
53454
53643
|
});
|
|
53455
53644
|
try {
|
|
53456
53645
|
waitUntil(promise2);
|
|
@@ -53633,15 +53822,15 @@ var init_client = __esm({
|
|
|
53633
53822
|
const localEvaluationEnabled = void 0 !== this.featureFlagsPoller;
|
|
53634
53823
|
if (localEvaluationEnabled) {
|
|
53635
53824
|
await this.featureFlagsPoller?.loadFeatureFlags();
|
|
53636
|
-
const
|
|
53637
|
-
if (
|
|
53638
|
-
const localResult = await this.featureFlagsPoller?.computeFlagAndPayloadLocally(
|
|
53825
|
+
const flag2 = this.featureFlagsPoller?.featureFlagsByKey[key];
|
|
53826
|
+
if (flag2) try {
|
|
53827
|
+
const localResult = await this.featureFlagsPoller?.computeFlagAndPayloadLocally(flag2, evaluationContext, {
|
|
53639
53828
|
matchValue
|
|
53640
53829
|
});
|
|
53641
53830
|
if (localResult) {
|
|
53642
53831
|
flagWasLocallyEvaluated = true;
|
|
53643
53832
|
const value = localResult.value;
|
|
53644
|
-
flagId =
|
|
53833
|
+
flagId = flag2.id;
|
|
53645
53834
|
flagReason = "Evaluated locally";
|
|
53646
53835
|
result = {
|
|
53647
53836
|
key,
|
|
@@ -54317,8 +54506,8 @@ function createEventProcessor(_posthog, { organization, projectId, prefix, sever
|
|
|
54317
54506
|
stacktrace: exception.stacktrace ? {
|
|
54318
54507
|
...exception.stacktrace,
|
|
54319
54508
|
type: "raw",
|
|
54320
|
-
frames: (exception.stacktrace.frames || []).map((
|
|
54321
|
-
...
|
|
54509
|
+
frames: (exception.stacktrace.frames || []).map((frame3) => ({
|
|
54510
|
+
...frame3,
|
|
54322
54511
|
platform: "node:javascript"
|
|
54323
54512
|
}))
|
|
54324
54513
|
} : void 0
|
|
@@ -54654,7 +54843,7 @@ var init_logs2 = __esm({
|
|
|
54654
54843
|
LOG_QUEUE_LIMIT = 1e3;
|
|
54655
54844
|
LOG_FLUSH_INTERVAL_MS = 2e3;
|
|
54656
54845
|
LOG_EXPORT_TIMEOUT_MS = 5e3;
|
|
54657
|
-
DEFAULT_SERVICE_NAME = "
|
|
54846
|
+
DEFAULT_SERVICE_NAME = "clawfast-web";
|
|
54658
54847
|
POSTHOG_CORRELATION_KEYS = /* @__PURE__ */ new Set(["posthogDistinctId", "sessionId"]);
|
|
54659
54848
|
pendingLogs = [];
|
|
54660
54849
|
flushPromise = null;
|
|
@@ -54676,7 +54865,7 @@ function getEnvironment2() {
|
|
|
54676
54865
|
return process.env.VERCEL_ENV ?? process.env.NODE_ENV ?? process.env.ENVIRONMENT ?? "unknown";
|
|
54677
54866
|
}
|
|
54678
54867
|
function getServiceName2() {
|
|
54679
|
-
return process.env.POSTHOG_LOG_SERVICE_NAME ?? "
|
|
54868
|
+
return process.env.POSTHOG_LOG_SERVICE_NAME ?? "clawfast-web";
|
|
54680
54869
|
}
|
|
54681
54870
|
function truncate2(value, maxLength = TELEMETRY_STRING_MAX_LENGTH) {
|
|
54682
54871
|
return value.length > maxLength ? `${value.slice(0, maxLength)}...` : value;
|
|
@@ -55460,7 +55649,7 @@ async function doEnsureCaido(context2, tracker) {
|
|
|
55460
55649
|
).toString("base64");
|
|
55461
55650
|
const createB64 = Buffer.from(
|
|
55462
55651
|
JSON.stringify({
|
|
55463
|
-
query: 'mutation { createProject(input: {name: "
|
|
55652
|
+
query: 'mutation { createProject(input: {name: "clawfast", temporary: true}) { project { id } error { ... on NameTakenUserError { code } ... on PermissionDeniedUserError { code } ... on OtherUserError { code } } } }'
|
|
55464
55653
|
})
|
|
55465
55654
|
).toString("base64");
|
|
55466
55655
|
const listProjectsB64 = Buffer.from(
|
|
@@ -55536,10 +55725,10 @@ async function doEnsureCaido(context2, tracker) {
|
|
|
55536
55725
|
`if [ -z "$TOKEN" ]; then echo "needs_start" && exit 0; fi`,
|
|
55537
55726
|
`printf '%s' "$TOKEN" > "$TOKEN_FILE"`,
|
|
55538
55727
|
``,
|
|
55539
|
-
`# Find or create the "
|
|
55728
|
+
`# Find or create the "clawfast" project`,
|
|
55540
55729
|
`PROJECTS=$(echo '${listProjectsB64}' | base64 -d | curl -sL --noproxy '*' --connect-timeout 5 --max-time 10 -X POST "$CAIDO_API/graphql" \\`,
|
|
55541
55730
|
` -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" --data @-)`,
|
|
55542
|
-
`PROJECT_ID=$(echo "$PROJECTS" | grep -o '"id":"[^"]*","name":"
|
|
55731
|
+
`PROJECT_ID=$(echo "$PROJECTS" | grep -o '"id":"[^"]*","name":"clawfast"' | grep -Eo '"id":"[^"]*"' | cut -d'"' -f4 || echo "")`,
|
|
55543
55732
|
`if [ -z "$PROJECT_ID" ]; then`,
|
|
55544
55733
|
` CREATE=$(echo '${createB64}' | base64 -d | curl -sL --noproxy '*' -X POST "$CAIDO_API/graphql" --connect-timeout 5 --max-time 20 \\`,
|
|
55545
55734
|
` -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" --data @-)`,
|
|
@@ -55929,7 +56118,7 @@ var init_pty_session_manager = __esm({
|
|
|
55929
56118
|
if (!chat || !chat.has(session.sessionId)) return;
|
|
55930
56119
|
await Promise.race([
|
|
55931
56120
|
session.handle.exited.catch(() => void 0),
|
|
55932
|
-
new Promise((
|
|
56121
|
+
new Promise((r2) => setTimeout(r2, CLOSE_EXIT_FALLBACK_MS))
|
|
55933
56122
|
]);
|
|
55934
56123
|
return;
|
|
55935
56124
|
}
|
|
@@ -55994,10 +56183,10 @@ var require_xterm_headless = __commonJS({
|
|
|
55994
56183
|
"use strict";
|
|
55995
56184
|
var e = { 5639: (e2, t2, s2) => {
|
|
55996
56185
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.CircularList = void 0;
|
|
55997
|
-
const i2 = s2(7150),
|
|
56186
|
+
const i2 = s2(7150), r3 = s2(802);
|
|
55998
56187
|
class n2 extends i2.Disposable {
|
|
55999
56188
|
constructor(e3) {
|
|
56000
|
-
super(), this._maxLength = e3, this.onDeleteEmitter = this._register(new
|
|
56189
|
+
super(), this._maxLength = e3, this.onDeleteEmitter = this._register(new r3.Emitter()), this.onDelete = this.onDeleteEmitter.event, this.onInsertEmitter = this._register(new r3.Emitter()), this.onInsert = this.onInsertEmitter.event, this.onTrimEmitter = this._register(new r3.Emitter()), this.onTrim = this.onTrimEmitter.event, this._array = new Array(this._maxLength), this._startIndex = 0, this._length = 0;
|
|
56001
56190
|
}
|
|
56002
56191
|
get maxLength() {
|
|
56003
56192
|
return this._maxLength;
|
|
@@ -56069,12 +56258,12 @@ var require_xterm_headless = __commonJS({
|
|
|
56069
56258
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.clone = function e3(t3, s2 = 5) {
|
|
56070
56259
|
if ("object" != typeof t3) return t3;
|
|
56071
56260
|
const i2 = Array.isArray(t3) ? [] : {};
|
|
56072
|
-
for (const
|
|
56261
|
+
for (const r3 in t3) i2[r3] = s2 <= 1 ? t3[r3] : t3[r3] && e3(t3[r3], s2 - 1);
|
|
56073
56262
|
return i2;
|
|
56074
56263
|
};
|
|
56075
56264
|
}, 5777: (e2, t2, s2) => {
|
|
56076
56265
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.CoreTerminal = void 0;
|
|
56077
|
-
const i2 = s2(6501),
|
|
56266
|
+
const i2 = s2(6501), r3 = s2(6025), n2 = s2(7276), o = s2(9640), a = s2(56), h = s2(4071), c = s2(7792), l = s2(6415), u = s2(5746), d = s2(5882), f = s2(2486), _ = s2(3562), p = s2(8811), g = s2(802), v = s2(7150);
|
|
56078
56267
|
let m = false;
|
|
56079
56268
|
class b extends v.Disposable {
|
|
56080
56269
|
get onScroll() {
|
|
@@ -56098,7 +56287,7 @@ var require_xterm_headless = __commonJS({
|
|
|
56098
56287
|
for (const t3 in e3) this.optionsService.options[t3] = e3[t3];
|
|
56099
56288
|
}
|
|
56100
56289
|
constructor(e3) {
|
|
56101
|
-
super(), this._windowsWrappingHeuristics = this._register(new v.MutableDisposable()), this._onBinary = this._register(new g.Emitter()), this.onBinary = this._onBinary.event, this._onData = this._register(new g.Emitter()), this.onData = this._onData.event, this._onLineFeed = this._register(new g.Emitter()), this.onLineFeed = this._onLineFeed.event, this._onResize = this._register(new g.Emitter()), this.onResize = this._onResize.event, this._onWriteParsed = this._register(new g.Emitter()), this.onWriteParsed = this._onWriteParsed.event, this._onScroll = this._register(new g.Emitter()), this._instantiationService = new
|
|
56290
|
+
super(), this._windowsWrappingHeuristics = this._register(new v.MutableDisposable()), this._onBinary = this._register(new g.Emitter()), this.onBinary = this._onBinary.event, this._onData = this._register(new g.Emitter()), this.onData = this._onData.event, this._onLineFeed = this._register(new g.Emitter()), this.onLineFeed = this._onLineFeed.event, this._onResize = this._register(new g.Emitter()), this.onResize = this._onResize.event, this._onWriteParsed = this._register(new g.Emitter()), this.onWriteParsed = this._onWriteParsed.event, this._onScroll = this._register(new g.Emitter()), this._instantiationService = new r3.InstantiationService(), this.optionsService = this._register(new a.OptionsService(e3)), this._instantiationService.setService(i2.IOptionsService, this.optionsService), this._bufferService = this._register(this._instantiationService.createInstance(o.BufferService)), this._instantiationService.setService(i2.IBufferService, this._bufferService), this._logService = this._register(this._instantiationService.createInstance(n2.LogService)), this._instantiationService.setService(i2.ILogService, this._logService), this.coreService = this._register(this._instantiationService.createInstance(h.CoreService)), this._instantiationService.setService(i2.ICoreService, this.coreService), this.coreMouseService = this._register(this._instantiationService.createInstance(c.CoreMouseService)), this._instantiationService.setService(i2.ICoreMouseService, this.coreMouseService), this.unicodeService = this._register(this._instantiationService.createInstance(l.UnicodeService)), this._instantiationService.setService(i2.IUnicodeService, this.unicodeService), this._charsetService = this._instantiationService.createInstance(u.CharsetService), this._instantiationService.setService(i2.ICharsetService, this._charsetService), this._oscLinkService = this._instantiationService.createInstance(p.OscLinkService), this._instantiationService.setService(i2.IOscLinkService, this._oscLinkService), this._inputHandler = this._register(new f.InputHandler(this._bufferService, this._charsetService, this.coreService, this._logService, this.optionsService, this._oscLinkService, this.coreMouseService, this.unicodeService)), this._register(g.Event.forward(this._inputHandler.onLineFeed, this._onLineFeed)), this._register(this._inputHandler), this._register(g.Event.forward(this._bufferService.onResize, this._onResize)), this._register(g.Event.forward(this.coreService.onData, this._onData)), this._register(g.Event.forward(this.coreService.onBinary, this._onBinary)), this._register(this.coreService.onRequestScrollToBottom((() => this.scrollToBottom(true)))), this._register(this.coreService.onUserInput((() => this._writeBuffer.handleUserInput()))), this._register(this.optionsService.onMultipleOptionChange(["windowsMode", "windowsPty"], (() => this._handleWindowsPtyOptionChange()))), this._register(this._bufferService.onScroll((() => {
|
|
56102
56291
|
this._onScroll.fire({ position: this._bufferService.buffer.ydisp }), this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop, this._bufferService.buffer.scrollBottom);
|
|
56103
56292
|
}))), this._writeBuffer = this._register(new _.WriteBuffer(((e4, t3) => this._inputHandler.parse(e4, t3)))), this._register(g.Event.forward(this._writeBuffer.onWriteParsed, this._onWriteParsed));
|
|
56104
56293
|
}
|
|
@@ -56168,11 +56357,11 @@ var require_xterm_headless = __commonJS({
|
|
|
56168
56357
|
t2.CoreTerminal = b;
|
|
56169
56358
|
}, 2486: function(e2, t2, s2) {
|
|
56170
56359
|
var i2 = this && this.__decorate || function(e3, t3, s3, i3) {
|
|
56171
|
-
var
|
|
56360
|
+
var r4, n3 = arguments.length, o2 = n3 < 3 ? t3 : null === i3 ? i3 = Object.getOwnPropertyDescriptor(t3, s3) : i3;
|
|
56172
56361
|
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) o2 = Reflect.decorate(e3, t3, s3, i3);
|
|
56173
|
-
else for (var a2 = e3.length - 1; a2 >= 0; a2--) (
|
|
56362
|
+
else for (var a2 = e3.length - 1; a2 >= 0; a2--) (r4 = e3[a2]) && (o2 = (n3 < 3 ? r4(o2) : n3 > 3 ? r4(t3, s3, o2) : r4(t3, s3)) || o2);
|
|
56174
56363
|
return n3 > 3 && o2 && Object.defineProperty(t3, s3, o2), o2;
|
|
56175
|
-
},
|
|
56364
|
+
}, r3 = this && this.__param || function(e3, t3) {
|
|
56176
56365
|
return function(s3, i3) {
|
|
56177
56366
|
t3(s3, i3, e3);
|
|
56178
56367
|
};
|
|
@@ -56238,8 +56427,8 @@ var require_xterm_headless = __commonJS({
|
|
|
56238
56427
|
getAttrData() {
|
|
56239
56428
|
return this._curAttrData;
|
|
56240
56429
|
}
|
|
56241
|
-
constructor(e3, t3, s3, i3,
|
|
56242
|
-
super(), this._bufferService = e3, this._charsetService = t3, this._coreService = s3, this._logService = i3, this._optionsService =
|
|
56430
|
+
constructor(e3, t3, s3, i3, r4, h2, u2, d2, f2 = new a.EscapeSequenceParser()) {
|
|
56431
|
+
super(), this._bufferService = e3, this._charsetService = t3, this._coreService = s3, this._logService = i3, this._optionsService = r4, this._oscLinkService = h2, this._coreMouseService = u2, this._unicodeService = d2, this._parser = f2, this._parseBuffer = new Uint32Array(4096), this._stringDecoder = new c.StringToUtf32(), this._utf8Decoder = new c.Utf8ToUtf32(), this._windowTitle = "", this._iconName = "", this._windowTitleStack = [], this._iconNameStack = [], this._curAttrData = l.DEFAULT_ATTR_DATA.clone(), this._eraseAttrDataInternal = l.DEFAULT_ATTR_DATA.clone(), this._onRequestBell = this._register(new b.Emitter()), this.onRequestBell = this._onRequestBell.event, this._onRequestRefreshRows = this._register(new b.Emitter()), this.onRequestRefreshRows = this._onRequestRefreshRows.event, this._onRequestReset = this._register(new b.Emitter()), this.onRequestReset = this._onRequestReset.event, this._onRequestSendFocus = this._register(new b.Emitter()), this.onRequestSendFocus = this._onRequestSendFocus.event, this._onRequestSyncScrollBar = this._register(new b.Emitter()), this.onRequestSyncScrollBar = this._onRequestSyncScrollBar.event, this._onRequestWindowsOptionsReport = this._register(new b.Emitter()), this.onRequestWindowsOptionsReport = this._onRequestWindowsOptionsReport.event, this._onA11yChar = this._register(new b.Emitter()), this.onA11yChar = this._onA11yChar.event, this._onA11yTab = this._register(new b.Emitter()), this.onA11yTab = this._onA11yTab.event, this._onCursorMove = this._register(new b.Emitter()), this.onCursorMove = this._onCursorMove.event, this._onLineFeed = this._register(new b.Emitter()), this.onLineFeed = this._onLineFeed.event, this._onScroll = this._register(new b.Emitter()), this.onScroll = this._onScroll.event, this._onTitleChange = this._register(new b.Emitter()), this.onTitleChange = this._onTitleChange.event, this._onColor = this._register(new b.Emitter()), this.onColor = this._onColor.event, this._parseStack = { paused: false, cursorStartX: 0, cursorStartY: 0, decodedLength: 0, position: 0 }, this._specialColors = [256, 257, 258], this._register(this._parser), this._dirtyRowTracker = new L(this._bufferService), this._activeBuffer = this._bufferService.buffer, this._register(this._bufferService.buffers.onBufferActivate(((e4) => this._activeBuffer = e4.activeBuffer))), this._parser.setCsiHandlerFallback(((e4, t4) => {
|
|
56243
56432
|
this._logService.debug("Unknown CSI code: ", { identifier: this._parser.identToString(e4), params: t4.toArray() });
|
|
56244
56433
|
})), this._parser.setEscHandlerFallback(((e4) => {
|
|
56245
56434
|
this._logService.debug("Unknown ESC code: ", { identifier: this._parser.identToString(e4) });
|
|
@@ -56266,26 +56455,26 @@ var require_xterm_headless = __commonJS({
|
|
|
56266
56455
|
return this._curAttrData.extended.urlId;
|
|
56267
56456
|
}
|
|
56268
56457
|
parse(e3, t3) {
|
|
56269
|
-
let s3, i3 = this._activeBuffer.x,
|
|
56458
|
+
let s3, i3 = this._activeBuffer.x, r4 = this._activeBuffer.y, n3 = 0;
|
|
56270
56459
|
const o2 = this._parseStack.paused;
|
|
56271
56460
|
if (o2) {
|
|
56272
56461
|
if (s3 = this._parser.parse(this._parseBuffer, this._parseStack.decodedLength, t3)) return this._logSlowResolvingAsync(s3), s3;
|
|
56273
|
-
i3 = this._parseStack.cursorStartX,
|
|
56462
|
+
i3 = this._parseStack.cursorStartX, r4 = this._parseStack.cursorStartY, this._parseStack.paused = false, e3.length > y && (n3 = this._parseStack.position + y);
|
|
56274
56463
|
}
|
|
56275
56464
|
if (this._logService.logLevel <= _.LogLevelEnum.DEBUG && this._logService.debug("parsing data " + ("string" == typeof e3 ? ` "${e3}"` : ` "${Array.prototype.map.call(e3, ((e4) => String.fromCharCode(e4))).join("")}"`)), this._logService.logLevel === _.LogLevelEnum.TRACE && this._logService.trace("parsing data (codes)", "string" == typeof e3 ? e3.split("").map(((e4) => e4.charCodeAt(0))) : e3), this._parseBuffer.length < e3.length && this._parseBuffer.length < y && (this._parseBuffer = new Uint32Array(Math.min(e3.length, y))), o2 || this._dirtyRowTracker.clearRange(), e3.length > y) for (let t4 = n3; t4 < e3.length; t4 += y) {
|
|
56276
56465
|
const n4 = t4 + y < e3.length ? t4 + y : e3.length, o3 = "string" == typeof e3 ? this._stringDecoder.decode(e3.substring(t4, n4), this._parseBuffer) : this._utf8Decoder.decode(e3.subarray(t4, n4), this._parseBuffer);
|
|
56277
|
-
if (s3 = this._parser.parse(this._parseBuffer, o3)) return this._preserveStack(i3,
|
|
56466
|
+
if (s3 = this._parser.parse(this._parseBuffer, o3)) return this._preserveStack(i3, r4, o3, t4), this._logSlowResolvingAsync(s3), s3;
|
|
56278
56467
|
}
|
|
56279
56468
|
else if (!o2) {
|
|
56280
56469
|
const t4 = "string" == typeof e3 ? this._stringDecoder.decode(e3, this._parseBuffer) : this._utf8Decoder.decode(e3, this._parseBuffer);
|
|
56281
|
-
if (s3 = this._parser.parse(this._parseBuffer, t4)) return this._preserveStack(i3,
|
|
56470
|
+
if (s3 = this._parser.parse(this._parseBuffer, t4)) return this._preserveStack(i3, r4, t4, 0), this._logSlowResolvingAsync(s3), s3;
|
|
56282
56471
|
}
|
|
56283
|
-
this._activeBuffer.x === i3 && this._activeBuffer.y ===
|
|
56472
|
+
this._activeBuffer.x === i3 && this._activeBuffer.y === r4 || this._onCursorMove.fire();
|
|
56284
56473
|
const a2 = this._dirtyRowTracker.end + (this._bufferService.buffer.ybase - this._bufferService.buffer.ydisp), h2 = this._dirtyRowTracker.start + (this._bufferService.buffer.ybase - this._bufferService.buffer.ydisp);
|
|
56285
56474
|
h2 < this._bufferService.rows && this._onRequestRefreshRows.fire({ start: Math.min(h2, this._bufferService.rows - 1), end: Math.min(a2, this._bufferService.rows - 1) });
|
|
56286
56475
|
}
|
|
56287
56476
|
print(e3, t3, s3) {
|
|
56288
|
-
let i3,
|
|
56477
|
+
let i3, r4;
|
|
56289
56478
|
const n3 = this._charsetService.charset, o2 = this._optionsService.rawOptions.screenReaderMode, a2 = this._bufferService.cols, h2 = this._coreService.decPrivateModes.wraparound, d2 = this._coreService.modes.insertMode, f2 = this._curAttrData;
|
|
56290
56479
|
let _2 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y);
|
|
56291
56480
|
this._dirtyRowTracker.markDirty(this._activeBuffer.y), this._activeBuffer.x && s3 - t3 > 0 && 2 === _2.getWidth(this._activeBuffer.x - 1) && _2.setCellFromCodepoint(this._activeBuffer.x - 1, 0, 1, f2);
|
|
@@ -56296,20 +56485,20 @@ var require_xterm_headless = __commonJS({
|
|
|
56296
56485
|
e4 && (i3 = e4.charCodeAt(0));
|
|
56297
56486
|
}
|
|
56298
56487
|
const t4 = this._unicodeService.charProperties(i3, g2);
|
|
56299
|
-
|
|
56488
|
+
r4 = p.UnicodeService.extractWidth(t4);
|
|
56300
56489
|
const s4 = p.UnicodeService.extractShouldJoin(t4), m2 = s4 ? p.UnicodeService.extractWidth(g2) : 0;
|
|
56301
|
-
if (g2 = t4, o2 && this._onA11yChar.fire((0, c.stringFromCodePoint)(i3)), this._getCurrentLinkId() && this._oscLinkService.addLineToLink(this._getCurrentLinkId(), this._activeBuffer.ybase + this._activeBuffer.y), this._activeBuffer.x +
|
|
56490
|
+
if (g2 = t4, o2 && this._onA11yChar.fire((0, c.stringFromCodePoint)(i3)), this._getCurrentLinkId() && this._oscLinkService.addLineToLink(this._getCurrentLinkId(), this._activeBuffer.ybase + this._activeBuffer.y), this._activeBuffer.x + r4 - m2 > a2) {
|
|
56302
56491
|
if (h2) {
|
|
56303
56492
|
const e4 = _2;
|
|
56304
56493
|
let t5 = this._activeBuffer.x - m2;
|
|
56305
56494
|
for (this._activeBuffer.x = m2, this._activeBuffer.y++, this._activeBuffer.y === this._activeBuffer.scrollBottom + 1 ? (this._activeBuffer.y--, this._bufferService.scroll(this._eraseAttrData(), true)) : (this._activeBuffer.y >= this._bufferService.rows && (this._activeBuffer.y = this._bufferService.rows - 1), this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y).isWrapped = true), _2 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y), m2 > 0 && _2 instanceof l.BufferLine && _2.copyCellsFrom(e4, t5, 0, m2, false); t5 < a2; ) e4.setCellFromCodepoint(t5++, 0, 1, f2);
|
|
56306
|
-
} else if (this._activeBuffer.x = a2 - 1, 2 ===
|
|
56495
|
+
} else if (this._activeBuffer.x = a2 - 1, 2 === r4) continue;
|
|
56307
56496
|
}
|
|
56308
56497
|
if (s4 && this._activeBuffer.x) {
|
|
56309
56498
|
const e4 = _2.getWidth(this._activeBuffer.x - 1) ? 1 : 2;
|
|
56310
|
-
_2.addCodepointToCell(this._activeBuffer.x - e4, i3,
|
|
56311
|
-
for (let e5 =
|
|
56312
|
-
} else if (d2 && (_2.insertCells(this._activeBuffer.x,
|
|
56499
|
+
_2.addCodepointToCell(this._activeBuffer.x - e4, i3, r4);
|
|
56500
|
+
for (let e5 = r4 - m2; --e5 >= 0; ) _2.setCellFromCodepoint(this._activeBuffer.x++, 0, 0, f2);
|
|
56501
|
+
} else if (d2 && (_2.insertCells(this._activeBuffer.x, r4 - m2, this._activeBuffer.getNullCell(f2)), 2 === _2.getWidth(a2 - 1) && _2.setCellFromCodepoint(a2 - 1, u.NULL_CELL_CODE, u.NULL_CELL_WIDTH, f2)), _2.setCellFromCodepoint(this._activeBuffer.x++, i3, r4, f2), r4 > 0) for (; --r4; ) _2.setCellFromCodepoint(this._activeBuffer.x++, 0, 0, f2);
|
|
56313
56502
|
}
|
|
56314
56503
|
this._parser.precedingJoinState = g2, this._activeBuffer.x < a2 && s3 - t3 > 0 && 0 === _2.getWidth(this._activeBuffer.x) && !_2.hasContent(this._activeBuffer.x) && _2.setCellFromCodepoint(this._activeBuffer.x, 0, 1, f2), this._dirtyRowTracker.markDirty(this._activeBuffer.y);
|
|
56315
56504
|
}
|
|
@@ -56425,9 +56614,9 @@ var require_xterm_headless = __commonJS({
|
|
|
56425
56614
|
const t3 = e3.params[0];
|
|
56426
56615
|
return 1 === t3 && (this._curAttrData.bg |= 536870912), 2 !== t3 && 0 !== t3 || (this._curAttrData.bg &= -536870913), true;
|
|
56427
56616
|
}
|
|
56428
|
-
_eraseInBufferLine(e3, t3, s3, i3 = false,
|
|
56617
|
+
_eraseInBufferLine(e3, t3, s3, i3 = false, r4 = false) {
|
|
56429
56618
|
const n3 = this._activeBuffer.lines.get(this._activeBuffer.ybase + e3);
|
|
56430
|
-
n3.replaceCells(t3, s3, this._activeBuffer.getNullCell(this._eraseAttrData()),
|
|
56619
|
+
n3.replaceCells(t3, s3, this._activeBuffer.getNullCell(this._eraseAttrData()), r4), i3 && (n3.isWrapped = false);
|
|
56431
56620
|
}
|
|
56432
56621
|
_resetBufferLine(e3, t3 = false) {
|
|
56433
56622
|
const s3 = this._activeBuffer.lines.get(this._activeBuffer.ybase + e3);
|
|
@@ -56479,8 +56668,8 @@ var require_xterm_headless = __commonJS({
|
|
|
56479
56668
|
this._restrictCursor();
|
|
56480
56669
|
let t3 = e3.params[0] || 1;
|
|
56481
56670
|
if (this._activeBuffer.y > this._activeBuffer.scrollBottom || this._activeBuffer.y < this._activeBuffer.scrollTop) return true;
|
|
56482
|
-
const s3 = this._activeBuffer.ybase + this._activeBuffer.y, i3 = this._bufferService.rows - 1 - this._activeBuffer.scrollBottom,
|
|
56483
|
-
for (; t3--; ) this._activeBuffer.lines.splice(
|
|
56671
|
+
const s3 = this._activeBuffer.ybase + this._activeBuffer.y, i3 = this._bufferService.rows - 1 - this._activeBuffer.scrollBottom, r4 = this._bufferService.rows - 1 + this._activeBuffer.ybase - i3 + 1;
|
|
56672
|
+
for (; t3--; ) this._activeBuffer.lines.splice(r4 - 1, 1), this._activeBuffer.lines.splice(s3, 0, this._activeBuffer.getBlankLine(this._eraseAttrData()));
|
|
56484
56673
|
return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y, this._activeBuffer.scrollBottom), this._activeBuffer.x = 0, true;
|
|
56485
56674
|
}
|
|
56486
56675
|
deleteLines(e3) {
|
|
@@ -56556,7 +56745,7 @@ var require_xterm_headless = __commonJS({
|
|
|
56556
56745
|
repeatPrecedingCharacter(e3) {
|
|
56557
56746
|
const t3 = this._parser.precedingJoinState;
|
|
56558
56747
|
if (!t3) return true;
|
|
56559
|
-
const s3 = e3.params[0] || 1, i3 = p.UnicodeService.extractWidth(t3),
|
|
56748
|
+
const s3 = e3.params[0] || 1, i3 = p.UnicodeService.extractWidth(t3), r4 = this._activeBuffer.x - i3, n3 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y).getString(r4), o2 = new Uint32Array(n3.length * s3);
|
|
56560
56749
|
let a2 = 0;
|
|
56561
56750
|
for (let e4 = 0; e4 < n3.length; ) {
|
|
56562
56751
|
const t4 = n3.codePointAt(e4) || 0;
|
|
@@ -56730,28 +56919,28 @@ var require_xterm_headless = __commonJS({
|
|
|
56730
56919
|
return true;
|
|
56731
56920
|
}
|
|
56732
56921
|
requestMode(e3, t3) {
|
|
56733
|
-
const s3 = this._coreService.decPrivateModes, { activeProtocol: i3, activeEncoding:
|
|
56734
|
-
return _2 = f2, p2 = t3 ? 2 === f2 ? 4 : 4 === f2 ? d2(o2.modes.insertMode) : 12 === f2 ? 3 : 20 === f2 ? d2(u2.convertEol) : 0 : 1 === f2 ? d2(s3.applicationCursorKeys) : 3 === f2 ? u2.windowOptions.setWinLines ? 80 === h2 ? 2 : 132 === h2 ? 1 : 0 : 0 : 6 === f2 ? d2(s3.origin) : 7 === f2 ? d2(s3.wraparound) : 8 === f2 ? 3 : 9 === f2 ? d2("X10" === i3) : 12 === f2 ? d2(u2.cursorBlink) : 25 === f2 ? d2(!o2.isCursorHidden) : 45 === f2 ? d2(s3.reverseWraparound) : 66 === f2 ? d2(s3.applicationKeypad) : 67 === f2 ? 4 : 1e3 === f2 ? d2("VT200" === i3) : 1002 === f2 ? d2("DRAG" === i3) : 1003 === f2 ? d2("ANY" === i3) : 1004 === f2 ? d2(s3.sendFocus) : 1005 === f2 ? 4 : 1006 === f2 ? d2("SGR" ===
|
|
56922
|
+
const s3 = this._coreService.decPrivateModes, { activeProtocol: i3, activeEncoding: r4 } = this._coreMouseService, o2 = this._coreService, { buffers: a2, cols: h2 } = this._bufferService, { active: c2, alt: l2 } = a2, u2 = this._optionsService.rawOptions, d2 = (e4) => e4 ? 1 : 2, f2 = e3.params[0];
|
|
56923
|
+
return _2 = f2, p2 = t3 ? 2 === f2 ? 4 : 4 === f2 ? d2(o2.modes.insertMode) : 12 === f2 ? 3 : 20 === f2 ? d2(u2.convertEol) : 0 : 1 === f2 ? d2(s3.applicationCursorKeys) : 3 === f2 ? u2.windowOptions.setWinLines ? 80 === h2 ? 2 : 132 === h2 ? 1 : 0 : 0 : 6 === f2 ? d2(s3.origin) : 7 === f2 ? d2(s3.wraparound) : 8 === f2 ? 3 : 9 === f2 ? d2("X10" === i3) : 12 === f2 ? d2(u2.cursorBlink) : 25 === f2 ? d2(!o2.isCursorHidden) : 45 === f2 ? d2(s3.reverseWraparound) : 66 === f2 ? d2(s3.applicationKeypad) : 67 === f2 ? 4 : 1e3 === f2 ? d2("VT200" === i3) : 1002 === f2 ? d2("DRAG" === i3) : 1003 === f2 ? d2("ANY" === i3) : 1004 === f2 ? d2(s3.sendFocus) : 1005 === f2 ? 4 : 1006 === f2 ? d2("SGR" === r4) : 1015 === f2 ? 4 : 1016 === f2 ? d2("SGR_PIXELS" === r4) : 1048 === f2 ? 1 : 47 === f2 || 1047 === f2 || 1049 === f2 ? d2(c2 === l2) : 2004 === f2 ? d2(s3.bracketedPasteMode) : 2026 === f2 ? d2(s3.synchronizedOutput) : 0, o2.triggerDataEvent(`${n2.C0.ESC}[${t3 ? "" : "?"}${_2};${p2}$y`), true;
|
|
56735
56924
|
var _2, p2;
|
|
56736
56925
|
}
|
|
56737
|
-
_updateAttrColor(e3, t3, s3, i3,
|
|
56738
|
-
return 2 === t3 ? (e3 |= 50331648, e3 &= -16777216, e3 |= f.AttributeData.fromColorRGB([s3, i3,
|
|
56926
|
+
_updateAttrColor(e3, t3, s3, i3, r4) {
|
|
56927
|
+
return 2 === t3 ? (e3 |= 50331648, e3 &= -16777216, e3 |= f.AttributeData.fromColorRGB([s3, i3, r4])) : 5 === t3 && (e3 &= -50331904, e3 |= 33554432 | 255 & s3), e3;
|
|
56739
56928
|
}
|
|
56740
56929
|
_extractColor(e3, t3, s3) {
|
|
56741
56930
|
const i3 = [0, 0, -1, 0, 0, 0];
|
|
56742
|
-
let
|
|
56931
|
+
let r4 = 0, n3 = 0;
|
|
56743
56932
|
do {
|
|
56744
|
-
if (i3[n3 +
|
|
56933
|
+
if (i3[n3 + r4] = e3.params[t3 + n3], e3.hasSubParams(t3 + n3)) {
|
|
56745
56934
|
const s4 = e3.getSubParams(t3 + n3);
|
|
56746
56935
|
let o2 = 0;
|
|
56747
56936
|
do {
|
|
56748
|
-
5 === i3[1] && (
|
|
56749
|
-
} while (++o2 < s4.length && o2 + n3 + 1 +
|
|
56937
|
+
5 === i3[1] && (r4 = 1), i3[n3 + o2 + 1 + r4] = s4[o2];
|
|
56938
|
+
} while (++o2 < s4.length && o2 + n3 + 1 + r4 < i3.length);
|
|
56750
56939
|
break;
|
|
56751
56940
|
}
|
|
56752
|
-
if (5 === i3[1] && n3 +
|
|
56753
|
-
i3[1] && (
|
|
56754
|
-
} while (++n3 + t3 < e3.length && n3 +
|
|
56941
|
+
if (5 === i3[1] && n3 + r4 >= 2 || 2 === i3[1] && n3 + r4 >= 5) break;
|
|
56942
|
+
i3[1] && (r4 = 1);
|
|
56943
|
+
} while (++n3 + t3 < e3.length && n3 + r4 < i3.length);
|
|
56755
56944
|
for (let e4 = 2; e4 < i3.length; ++e4) -1 === i3[e4] && (i3[e4] = 0);
|
|
56756
56945
|
switch (i3[0]) {
|
|
56757
56946
|
case 38:
|
|
@@ -56776,7 +56965,7 @@ var require_xterm_headless = __commonJS({
|
|
|
56776
56965
|
const t3 = e3.length;
|
|
56777
56966
|
let s3;
|
|
56778
56967
|
const i3 = this._curAttrData;
|
|
56779
|
-
for (let
|
|
56968
|
+
for (let r4 = 0; r4 < t3; r4++) s3 = e3.params[r4], s3 >= 30 && s3 <= 37 ? (i3.fg &= -50331904, i3.fg |= 16777216 | s3 - 30) : s3 >= 40 && s3 <= 47 ? (i3.bg &= -50331904, i3.bg |= 16777216 | s3 - 40) : s3 >= 90 && s3 <= 97 ? (i3.fg &= -50331904, i3.fg |= 16777224 | s3 - 90) : s3 >= 100 && s3 <= 107 ? (i3.bg &= -50331904, i3.bg |= 16777224 | s3 - 100) : 0 === s3 ? this._processSGR0(i3) : 1 === s3 ? i3.fg |= 134217728 : 3 === s3 ? i3.bg |= 67108864 : 4 === s3 ? (i3.fg |= 268435456, this._processUnderline(e3.hasSubParams(r4) ? e3.getSubParams(r4)[0] : 1, i3)) : 5 === s3 ? i3.fg |= 536870912 : 7 === s3 ? i3.fg |= 67108864 : 8 === s3 ? i3.fg |= 1073741824 : 9 === s3 ? i3.fg |= 2147483648 : 2 === s3 ? i3.bg |= 134217728 : 21 === s3 ? this._processUnderline(2, i3) : 22 === s3 ? (i3.fg &= -134217729, i3.bg &= -134217729) : 23 === s3 ? i3.bg &= -67108865 : 24 === s3 ? (i3.fg &= -268435457, this._processUnderline(0, i3)) : 25 === s3 ? i3.fg &= -536870913 : 27 === s3 ? i3.fg &= -67108865 : 28 === s3 ? i3.fg &= -1073741825 : 29 === s3 ? i3.fg &= 2147483647 : 39 === s3 ? (i3.fg &= -67108864, i3.fg |= 16777215 & l.DEFAULT_ATTR_DATA.fg) : 49 === s3 ? (i3.bg &= -67108864, i3.bg |= 16777215 & l.DEFAULT_ATTR_DATA.bg) : 38 === s3 || 48 === s3 || 58 === s3 ? r4 += this._extractColor(e3, r4, i3) : 53 === s3 ? i3.bg |= 1073741824 : 55 === s3 ? i3.bg &= -1073741825 : 59 === s3 ? (i3.extended = i3.extended.clone(), i3.extended.underlineColor = -1, i3.updateExtended()) : 100 === s3 ? (i3.fg &= -67108864, i3.fg |= 16777215 & l.DEFAULT_ATTR_DATA.fg, i3.bg &= -67108864, i3.bg |= 16777215 & l.DEFAULT_ATTR_DATA.bg) : this._logService.debug("Unknown SGR attribute: %d.", s3);
|
|
56780
56969
|
return true;
|
|
56781
56970
|
}
|
|
56782
56971
|
deviceStatus(e3) {
|
|
@@ -56885,8 +57074,8 @@ var require_xterm_headless = __commonJS({
|
|
|
56885
57074
|
this._getCurrentLinkId() && this._finishHyperlink();
|
|
56886
57075
|
const s3 = e3.split(":");
|
|
56887
57076
|
let i3;
|
|
56888
|
-
const
|
|
56889
|
-
return -1 !==
|
|
57077
|
+
const r4 = s3.findIndex(((e4) => e4.startsWith("id=")));
|
|
57078
|
+
return -1 !== r4 && (i3 = s3[r4].slice(3) || void 0), this._curAttrData.extended = this._curAttrData.extended.clone(), this._curAttrData.extended.urlId = this._oscLinkService.registerLink({ id: i3, uri: t3 }), this._curAttrData.updateExtended(), true;
|
|
56890
57079
|
}
|
|
56891
57080
|
_finishHyperlink() {
|
|
56892
57081
|
return this._curAttrData.extended = this._curAttrData.extended.clone(), this._curAttrData.extended.urlId = 0, this._curAttrData.updateExtended(), true;
|
|
@@ -57005,7 +57194,7 @@ var require_xterm_headless = __commonJS({
|
|
|
57005
57194
|
function k(e3) {
|
|
57006
57195
|
return 0 <= e3 && e3 < 256;
|
|
57007
57196
|
}
|
|
57008
|
-
L = i2([
|
|
57197
|
+
L = i2([r3(0, _.IBufferService)], L);
|
|
57009
57198
|
}, 701: (e2, t2) => {
|
|
57010
57199
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.isChromeOS = t2.isLinux = t2.isWindows = t2.isIphone = t2.isIpad = t2.isMac = t2.isSafari = t2.isLegacyEdge = t2.isFirefox = t2.isNode = void 0, t2.getSafariVersion = function() {
|
|
57011
57200
|
if (!t2.isSafari) return 0;
|
|
@@ -57017,7 +57206,7 @@ var require_xterm_headless = __commonJS({
|
|
|
57017
57206
|
}, 6168: (e2, t2, s2) => {
|
|
57018
57207
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.DebouncedIdleTask = t2.IdleTaskQueue = t2.PriorityTaskQueue = void 0;
|
|
57019
57208
|
const i2 = s2(701);
|
|
57020
|
-
class
|
|
57209
|
+
class r3 {
|
|
57021
57210
|
constructor() {
|
|
57022
57211
|
this._tasks = [], this._i = 0;
|
|
57023
57212
|
}
|
|
@@ -57036,15 +57225,15 @@ var require_xterm_headless = __commonJS({
|
|
|
57036
57225
|
}
|
|
57037
57226
|
_process(e3) {
|
|
57038
57227
|
this._idleCallback = void 0;
|
|
57039
|
-
let t3 = 0, s3 = 0, i3 = e3.timeRemaining(),
|
|
57228
|
+
let t3 = 0, s3 = 0, i3 = e3.timeRemaining(), r4 = 0;
|
|
57040
57229
|
for (; this._i < this._tasks.length; ) {
|
|
57041
|
-
if (t3 = performance.now(), this._tasks[this._i]() || this._i++, t3 = Math.max(1, performance.now() - t3), s3 = Math.max(t3, s3),
|
|
57042
|
-
i3 =
|
|
57230
|
+
if (t3 = performance.now(), this._tasks[this._i]() || this._i++, t3 = Math.max(1, performance.now() - t3), s3 = Math.max(t3, s3), r4 = e3.timeRemaining(), 1.5 * s3 > r4) return i3 - t3 < -20 && console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(i3 - t3))}ms`), void this._start();
|
|
57231
|
+
i3 = r4;
|
|
57043
57232
|
}
|
|
57044
57233
|
this.clear();
|
|
57045
57234
|
}
|
|
57046
57235
|
}
|
|
57047
|
-
class n2 extends
|
|
57236
|
+
class n2 extends r3 {
|
|
57048
57237
|
_requestCallback(e3) {
|
|
57049
57238
|
return setTimeout((() => e3(this._createDeadline(16))));
|
|
57050
57239
|
}
|
|
@@ -57056,7 +57245,7 @@ var require_xterm_headless = __commonJS({
|
|
|
57056
57245
|
return { timeRemaining: () => Math.max(0, t3 - performance.now()) };
|
|
57057
57246
|
}
|
|
57058
57247
|
}
|
|
57059
|
-
t2.PriorityTaskQueue = n2, t2.IdleTaskQueue = !i2.isNode && "requestIdleCallback" in window ? class extends
|
|
57248
|
+
t2.PriorityTaskQueue = n2, t2.IdleTaskQueue = !i2.isNode && "requestIdleCallback" in window ? class extends r3 {
|
|
57060
57249
|
_requestCallback(e3) {
|
|
57061
57250
|
return requestIdleCallback(e3);
|
|
57062
57251
|
}
|
|
@@ -57076,8 +57265,8 @@ var require_xterm_headless = __commonJS({
|
|
|
57076
57265
|
};
|
|
57077
57266
|
}, 5882: (e2, t2, s2) => {
|
|
57078
57267
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.updateWindowsModeWrappedState = function(e3) {
|
|
57079
|
-
const t3 = e3.buffer.lines.get(e3.buffer.ybase + e3.buffer.y - 1), s3 = t3?.get(e3.cols - 1),
|
|
57080
|
-
|
|
57268
|
+
const t3 = e3.buffer.lines.get(e3.buffer.ybase + e3.buffer.y - 1), s3 = t3?.get(e3.cols - 1), r3 = e3.buffer.lines.get(e3.buffer.ybase + e3.buffer.y);
|
|
57269
|
+
r3 && s3 && (r3.isWrapped = s3[i2.CHAR_DATA_CODE_INDEX] !== i2.NULL_CELL_CODE && s3[i2.CHAR_DATA_CODE_INDEX] !== i2.WHITESPACE_CELL_CODE);
|
|
57081
57270
|
};
|
|
57082
57271
|
const i2 = s2(8938);
|
|
57083
57272
|
}, 5451: (e2, t2) => {
|
|
@@ -57258,10 +57447,10 @@ var require_xterm_headless = __commonJS({
|
|
|
57258
57447
|
t2.ExtendedAttrs = i2;
|
|
57259
57448
|
}, 1073: (e2, t2, s2) => {
|
|
57260
57449
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.Buffer = t2.MAX_BUFFER_SIZE = void 0;
|
|
57261
|
-
const i2 = s2(5639),
|
|
57450
|
+
const i2 = s2(5639), r3 = s2(6168), n2 = s2(5451), o = s2(6107), a = s2(732), h = s2(3055), c = s2(8938), l = s2(8158), u = s2(6760);
|
|
57262
57451
|
t2.MAX_BUFFER_SIZE = 4294967295, t2.Buffer = class {
|
|
57263
57452
|
constructor(e3, t3, s3) {
|
|
57264
|
-
this._hasScrollback = e3, this._optionsService = t3, this._bufferService = s3, this.ydisp = 0, this.ybase = 0, this.y = 0, this.x = 0, this.tabs = {}, this.savedY = 0, this.savedX = 0, this.savedCurAttrData = o.DEFAULT_ATTR_DATA.clone(), this.savedCharset = u.DEFAULT_CHARSET, this.markers = [], this._nullCell = h.CellData.fromCharData([0, c.NULL_CELL_CHAR, c.NULL_CELL_WIDTH, c.NULL_CELL_CODE]), this._whitespaceCell = h.CellData.fromCharData([0, c.WHITESPACE_CELL_CHAR, c.WHITESPACE_CELL_WIDTH, c.WHITESPACE_CELL_CODE]), this._isClearing = false, this._memoryCleanupQueue = new
|
|
57453
|
+
this._hasScrollback = e3, this._optionsService = t3, this._bufferService = s3, this.ydisp = 0, this.ybase = 0, this.y = 0, this.x = 0, this.tabs = {}, this.savedY = 0, this.savedX = 0, this.savedCurAttrData = o.DEFAULT_ATTR_DATA.clone(), this.savedCharset = u.DEFAULT_CHARSET, this.markers = [], this._nullCell = h.CellData.fromCharData([0, c.NULL_CELL_CHAR, c.NULL_CELL_WIDTH, c.NULL_CELL_CODE]), this._whitespaceCell = h.CellData.fromCharData([0, c.WHITESPACE_CELL_CHAR, c.WHITESPACE_CELL_WIDTH, c.WHITESPACE_CELL_CODE]), this._isClearing = false, this._memoryCleanupQueue = new r3.IdleTaskQueue(), this._memoryCleanupPosition = 0, this._cols = this._bufferService.cols, this._rows = this._bufferService.rows, this.lines = new i2.CircularList(this._getCorrectBufferLength(this._rows)), this.scrollTop = 0, this.scrollBottom = this._rows - 1, this.setupTabStops();
|
|
57265
57454
|
}
|
|
57266
57455
|
getNullCell(e3) {
|
|
57267
57456
|
return e3 ? (this._nullCell.fg = e3.fg, this._nullCell.bg = e3.bg, this._nullCell.extended = e3.extended) : (this._nullCell.fg = 0, this._nullCell.bg = 0, this._nullCell.extended = new n2.ExtendedAttrs()), this._nullCell;
|
|
@@ -57297,15 +57486,15 @@ var require_xterm_headless = __commonJS({
|
|
|
57297
57486
|
resize(e3, t3) {
|
|
57298
57487
|
const s3 = this.getNullCell(o.DEFAULT_ATTR_DATA);
|
|
57299
57488
|
let i3 = 0;
|
|
57300
|
-
const
|
|
57301
|
-
if (
|
|
57489
|
+
const r4 = this._getCorrectBufferLength(t3);
|
|
57490
|
+
if (r4 > this.lines.maxLength && (this.lines.maxLength = r4), this.lines.length > 0) {
|
|
57302
57491
|
if (this._cols < e3) for (let t4 = 0; t4 < this.lines.length; t4++) i3 += +this.lines.get(t4).resize(e3, s3);
|
|
57303
57492
|
let n3 = 0;
|
|
57304
57493
|
if (this._rows < t3) for (let i4 = this._rows; i4 < t3; i4++) this.lines.length < t3 + this.ybase && (this._optionsService.rawOptions.windowsMode || void 0 !== this._optionsService.rawOptions.windowsPty.backend || void 0 !== this._optionsService.rawOptions.windowsPty.buildNumber ? this.lines.push(new o.BufferLine(e3, s3)) : this.ybase > 0 && this.lines.length <= this.ybase + this.y + n3 + 1 ? (this.ybase--, n3++, this.ydisp > 0 && this.ydisp--) : this.lines.push(new o.BufferLine(e3, s3)));
|
|
57305
57494
|
else for (let e4 = this._rows; e4 > t3; e4--) this.lines.length > t3 + this.ybase && (this.lines.length > this.ybase + this.y + 1 ? this.lines.pop() : (this.ybase++, this.ydisp++));
|
|
57306
|
-
if (
|
|
57307
|
-
const e4 = this.lines.length -
|
|
57308
|
-
e4 > 0 && (this.lines.trimStart(e4), this.ybase = Math.max(this.ybase - e4, 0), this.ydisp = Math.max(this.ydisp - e4, 0), this.savedY = Math.max(this.savedY - e4, 0)), this.lines.maxLength =
|
|
57495
|
+
if (r4 < this.lines.maxLength) {
|
|
57496
|
+
const e4 = this.lines.length - r4;
|
|
57497
|
+
e4 > 0 && (this.lines.trimStart(e4), this.ybase = Math.max(this.ybase - e4, 0), this.ydisp = Math.max(this.ydisp - e4, 0), this.savedY = Math.max(this.savedY - e4, 0)), this.lines.maxLength = r4;
|
|
57309
57498
|
}
|
|
57310
57499
|
this.x = Math.min(this.x, e3 - 1), this.y = Math.min(this.y, t3 - 1), n3 && (this.y += n3), this.savedX = Math.min(this.savedX, e3 - 1), this.scrollTop = 0;
|
|
57311
57500
|
}
|
|
@@ -57335,12 +57524,12 @@ var require_xterm_headless = __commonJS({
|
|
|
57335
57524
|
}
|
|
57336
57525
|
_reflowLargerAdjustViewport(e3, t3, s3) {
|
|
57337
57526
|
const i3 = this.getNullCell(o.DEFAULT_ATTR_DATA);
|
|
57338
|
-
let
|
|
57339
|
-
for (;
|
|
57527
|
+
let r4 = s3;
|
|
57528
|
+
for (; r4-- > 0; ) 0 === this.ybase ? (this.y > 0 && this.y--, this.lines.length < t3 && this.lines.push(new o.BufferLine(e3, i3))) : (this.ydisp === this.ybase && this.ydisp--, this.ybase--);
|
|
57340
57529
|
this.savedY = Math.max(this.savedY - s3, 0);
|
|
57341
57530
|
}
|
|
57342
57531
|
_reflowSmaller(e3, t3) {
|
|
57343
|
-
const s3 = this._optionsService.rawOptions.reflowCursorLine, i3 = this.getNullCell(o.DEFAULT_ATTR_DATA),
|
|
57532
|
+
const s3 = this._optionsService.rawOptions.reflowCursorLine, i3 = this.getNullCell(o.DEFAULT_ATTR_DATA), r4 = [];
|
|
57344
57533
|
let n3 = 0;
|
|
57345
57534
|
for (let h2 = this.lines.length - 1; h2 >= 0; h2--) {
|
|
57346
57535
|
let c2 = this.lines.get(h2);
|
|
@@ -57359,7 +57548,7 @@ var require_xterm_headless = __commonJS({
|
|
|
57359
57548
|
const e5 = this.getBlankLine(o.DEFAULT_ATTR_DATA, true);
|
|
57360
57549
|
p.push(e5);
|
|
57361
57550
|
}
|
|
57362
|
-
p.length > 0 && (
|
|
57551
|
+
p.length > 0 && (r4.push({ start: h2 + l2.length + n3, newLines: p }), n3 += p.length), l2.push(...p);
|
|
57363
57552
|
let g = d.length - 1, v = d[g];
|
|
57364
57553
|
0 === v && (g--, v = d[g]);
|
|
57365
57554
|
let m = l2.length - f - 1, b = u2;
|
|
@@ -57377,16 +57566,16 @@ var require_xterm_headless = __commonJS({
|
|
|
57377
57566
|
for (; S-- > 0; ) 0 === this.ybase ? this.y < t3 - 1 ? (this.y++, this.lines.pop()) : (this.ybase++, this.ydisp++) : this.ybase < Math.min(this.lines.maxLength, this.lines.length + n3) - t3 && (this.ybase === this.ydisp && this.ydisp++, this.ybase++);
|
|
57378
57567
|
this.savedY = Math.min(this.savedY + f, this.ybase + t3 - 1);
|
|
57379
57568
|
}
|
|
57380
|
-
if (
|
|
57569
|
+
if (r4.length > 0) {
|
|
57381
57570
|
const e4 = [], t4 = [];
|
|
57382
57571
|
for (let e5 = 0; e5 < this.lines.length; e5++) t4.push(this.lines.get(e5));
|
|
57383
57572
|
const s4 = this.lines.length;
|
|
57384
|
-
let i4 = s4 - 1, o2 = 0, a2 =
|
|
57573
|
+
let i4 = s4 - 1, o2 = 0, a2 = r4[o2];
|
|
57385
57574
|
this.lines.length = Math.min(this.lines.maxLength, this.lines.length + n3);
|
|
57386
57575
|
let h2 = 0;
|
|
57387
57576
|
for (let c3 = Math.min(this.lines.maxLength - 1, s4 + n3 - 1); c3 >= 0; c3--) if (a2 && a2.start > i4 + h2) {
|
|
57388
57577
|
for (let e5 = a2.newLines.length - 1; e5 >= 0; e5--) this.lines.set(c3--, a2.newLines[e5]);
|
|
57389
|
-
c3++, e4.push({ index: i4 + 1, amount: a2.newLines.length }), h2 += a2.newLines.length, a2 =
|
|
57578
|
+
c3++, e4.push({ index: i4 + 1, amount: a2.newLines.length }), h2 += a2.newLines.length, a2 = r4[++o2];
|
|
57390
57579
|
} else this.lines.set(c3, t4[i4--]);
|
|
57391
57580
|
let c2 = 0;
|
|
57392
57581
|
for (let t5 = e4.length - 1; t5 >= 0; t5--) e4[t5].index += c2, this.lines.onInsertEmitter.fire(e4[t5]), c2 += e4[t5].amount;
|
|
@@ -57395,8 +57584,8 @@ var require_xterm_headless = __commonJS({
|
|
|
57395
57584
|
}
|
|
57396
57585
|
}
|
|
57397
57586
|
translateBufferLineToString(e3, t3, s3 = 0, i3) {
|
|
57398
|
-
const
|
|
57399
|
-
return
|
|
57587
|
+
const r4 = this.lines.get(e3);
|
|
57588
|
+
return r4 ? r4.translateToString(t3, s3, i3) : "";
|
|
57400
57589
|
}
|
|
57401
57590
|
getWrappedRangeForLine(e3) {
|
|
57402
57591
|
let t3 = e3, s3 = e3;
|
|
@@ -57441,13 +57630,13 @@ var require_xterm_headless = __commonJS({
|
|
|
57441
57630
|
};
|
|
57442
57631
|
}, 6107: (e2, t2, s2) => {
|
|
57443
57632
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.BufferLine = t2.DEFAULT_ATTR_DATA = void 0;
|
|
57444
|
-
const i2 = s2(5451),
|
|
57633
|
+
const i2 = s2(5451), r3 = s2(3055), n2 = s2(8938), o = s2(726);
|
|
57445
57634
|
t2.DEFAULT_ATTR_DATA = Object.freeze(new i2.AttributeData());
|
|
57446
57635
|
let a = 0;
|
|
57447
57636
|
class h {
|
|
57448
57637
|
constructor(e3, t3, s3 = false) {
|
|
57449
57638
|
this.isWrapped = s3, this._combined = {}, this._extendedAttrs = {}, this._data = new Uint32Array(3 * e3);
|
|
57450
|
-
const i3 = t3 ||
|
|
57639
|
+
const i3 = t3 || r3.CellData.fromCharData([0, n2.NULL_CELL_CHAR, n2.NULL_CELL_WIDTH, n2.NULL_CELL_CODE]);
|
|
57451
57640
|
for (let t4 = 0; t4 < e3; ++t4) this.setCell(t4, i3);
|
|
57452
57641
|
this.length = e3;
|
|
57453
57642
|
}
|
|
@@ -57502,7 +57691,7 @@ var require_xterm_headless = __commonJS({
|
|
|
57502
57691
|
}
|
|
57503
57692
|
insertCells(e3, t3, s3) {
|
|
57504
57693
|
if ((e3 %= this.length) && 2 === this.getWidth(e3 - 1) && this.setCellFromCodepoint(e3 - 1, 0, 1, s3), t3 < this.length - e3) {
|
|
57505
|
-
const i3 = new
|
|
57694
|
+
const i3 = new r3.CellData();
|
|
57506
57695
|
for (let s4 = this.length - e3 - t3 - 1; s4 >= 0; --s4) this.setCell(e3 + t3 + s4, this.loadCell(e3 + s4, i3));
|
|
57507
57696
|
for (let i4 = 0; i4 < t3; ++i4) this.setCell(e3 + i4, s3);
|
|
57508
57697
|
} else for (let t4 = e3; t4 < this.length; ++t4) this.setCell(t4, s3);
|
|
@@ -57510,7 +57699,7 @@ var require_xterm_headless = __commonJS({
|
|
|
57510
57699
|
}
|
|
57511
57700
|
deleteCells(e3, t3, s3) {
|
|
57512
57701
|
if (e3 %= this.length, t3 < this.length - e3) {
|
|
57513
|
-
const i3 = new
|
|
57702
|
+
const i3 = new r3.CellData();
|
|
57514
57703
|
for (let s4 = 0; s4 < this.length - e3 - t3; ++s4) this.setCell(e3 + s4, this.loadCell(e3 + t3 + s4, i3));
|
|
57515
57704
|
for (let e4 = this.length - t3; e4 < this.length; ++e4) this.setCell(e4, s3);
|
|
57516
57705
|
} else for (let t4 = e3; t4 < this.length; ++t4) this.setCell(t4, s3);
|
|
@@ -57581,54 +57770,54 @@ var require_xterm_headless = __commonJS({
|
|
|
57581
57770
|
for (let e3 = this.length - 1; e3 >= 0; --e3) if (4194303 & this._data[3 * e3 + 0] || 50331648 & this._data[3 * e3 + 2]) return e3 + (this._data[3 * e3 + 0] >> 22);
|
|
57582
57771
|
return 0;
|
|
57583
57772
|
}
|
|
57584
|
-
copyCellsFrom(e3, t3, s3, i3,
|
|
57773
|
+
copyCellsFrom(e3, t3, s3, i3, r4) {
|
|
57585
57774
|
const n3 = e3._data;
|
|
57586
|
-
if (
|
|
57587
|
-
for (let e4 = 0; e4 < 3; e4++) this._data[3 * (s3 +
|
|
57588
|
-
268435456 & n3[3 * (t3 +
|
|
57775
|
+
if (r4) for (let r5 = i3 - 1; r5 >= 0; r5--) {
|
|
57776
|
+
for (let e4 = 0; e4 < 3; e4++) this._data[3 * (s3 + r5) + e4] = n3[3 * (t3 + r5) + e4];
|
|
57777
|
+
268435456 & n3[3 * (t3 + r5) + 2] && (this._extendedAttrs[s3 + r5] = e3._extendedAttrs[t3 + r5]);
|
|
57589
57778
|
}
|
|
57590
|
-
else for (let
|
|
57591
|
-
for (let e4 = 0; e4 < 3; e4++) this._data[3 * (s3 +
|
|
57592
|
-
268435456 & n3[3 * (t3 +
|
|
57779
|
+
else for (let r5 = 0; r5 < i3; r5++) {
|
|
57780
|
+
for (let e4 = 0; e4 < 3; e4++) this._data[3 * (s3 + r5) + e4] = n3[3 * (t3 + r5) + e4];
|
|
57781
|
+
268435456 & n3[3 * (t3 + r5) + 2] && (this._extendedAttrs[s3 + r5] = e3._extendedAttrs[t3 + r5]);
|
|
57593
57782
|
}
|
|
57594
57783
|
const o2 = Object.keys(e3._combined);
|
|
57595
57784
|
for (let i4 = 0; i4 < o2.length; i4++) {
|
|
57596
|
-
const
|
|
57597
|
-
|
|
57785
|
+
const r5 = parseInt(o2[i4], 10);
|
|
57786
|
+
r5 >= t3 && (this._combined[r5 - t3 + s3] = e3._combined[r5]);
|
|
57598
57787
|
}
|
|
57599
57788
|
}
|
|
57600
57789
|
translateToString(e3, t3, s3, i3) {
|
|
57601
57790
|
t3 = t3 ?? 0, s3 = s3 ?? this.length, e3 && (s3 = Math.min(s3, this.getTrimmedLength())), i3 && (i3.length = 0);
|
|
57602
|
-
let
|
|
57791
|
+
let r4 = "";
|
|
57603
57792
|
for (; t3 < s3; ) {
|
|
57604
57793
|
const e4 = this._data[3 * t3 + 0], s4 = 2097151 & e4, a2 = 2097152 & e4 ? this._combined[t3] : s4 ? (0, o.stringFromCodePoint)(s4) : n2.WHITESPACE_CELL_CHAR;
|
|
57605
|
-
if (
|
|
57794
|
+
if (r4 += a2, i3) for (let e5 = 0; e5 < a2.length; ++e5) i3.push(t3);
|
|
57606
57795
|
t3 += e4 >> 22 || 1;
|
|
57607
57796
|
}
|
|
57608
|
-
return i3 && i3.push(t3),
|
|
57797
|
+
return i3 && i3.push(t3), r4;
|
|
57609
57798
|
}
|
|
57610
57799
|
}
|
|
57611
57800
|
t2.BufferLine = h;
|
|
57612
57801
|
}, 732: (e2, t2) => {
|
|
57613
57802
|
function s2(e3, t3, s3) {
|
|
57614
57803
|
if (t3 === e3.length - 1) return e3[t3].getTrimmedLength();
|
|
57615
|
-
const i2 = !e3[t3].hasContent(s3 - 1) && 1 === e3[t3].getWidth(s3 - 1),
|
|
57616
|
-
return i2 &&
|
|
57804
|
+
const i2 = !e3[t3].hasContent(s3 - 1) && 1 === e3[t3].getWidth(s3 - 1), r3 = 2 === e3[t3 + 1].getWidth(0);
|
|
57805
|
+
return i2 && r3 ? s3 - 1 : s3;
|
|
57617
57806
|
}
|
|
57618
|
-
Object.defineProperty(t2, "__esModule", { value: true }), t2.reflowLargerGetLinesToRemove = function(e3, t3, i2,
|
|
57807
|
+
Object.defineProperty(t2, "__esModule", { value: true }), t2.reflowLargerGetLinesToRemove = function(e3, t3, i2, r3, n2, o) {
|
|
57619
57808
|
const a = [];
|
|
57620
57809
|
for (let h = 0; h < e3.length - 1; h++) {
|
|
57621
57810
|
let c = h, l = e3.get(++c);
|
|
57622
57811
|
if (!l.isWrapped) continue;
|
|
57623
57812
|
const u = [e3.get(h)];
|
|
57624
57813
|
for (; c < e3.length && l.isWrapped; ) u.push(l), l = e3.get(++c);
|
|
57625
|
-
if (!o &&
|
|
57814
|
+
if (!o && r3 >= h && r3 < c) {
|
|
57626
57815
|
h += u.length - 1;
|
|
57627
57816
|
continue;
|
|
57628
57817
|
}
|
|
57629
57818
|
let d = 0, f = s2(u, d, t3), _ = 1, p = 0;
|
|
57630
57819
|
for (; _ < u.length; ) {
|
|
57631
|
-
const e4 = s2(u, _, t3),
|
|
57820
|
+
const e4 = s2(u, _, t3), r4 = e4 - p, o2 = i2 - f, a2 = Math.min(r4, o2);
|
|
57632
57821
|
u[d].copyCellsFrom(u[_], p, f, a2, false), f += a2, f === i2 && (d++, f = 0), p += a2, p === e4 && (_++, p = 0), 0 === f && 0 !== d && 2 === u[d - 1].getWidth(i2 - 1) && (u[d].copyCellsFrom(u[d - 1], i2 - 1, f++, 1, false), u[d - 1].setCell(i2 - 1, n2));
|
|
57633
57822
|
}
|
|
57634
57823
|
u[d].replaceCells(f, i2, n2);
|
|
@@ -57639,10 +57828,10 @@ var require_xterm_headless = __commonJS({
|
|
|
57639
57828
|
return a;
|
|
57640
57829
|
}, t2.reflowLargerCreateNewLayout = function(e3, t3) {
|
|
57641
57830
|
const s3 = [];
|
|
57642
|
-
let i2 = 0,
|
|
57643
|
-
for (let o = 0; o < e3.length; o++) if (
|
|
57831
|
+
let i2 = 0, r3 = t3[i2], n2 = 0;
|
|
57832
|
+
for (let o = 0; o < e3.length; o++) if (r3 === o) {
|
|
57644
57833
|
const s4 = t3[++i2];
|
|
57645
|
-
e3.onDeleteEmitter.fire({ index: o - n2, amount: s4 }), o += s4 - 1, n2 += s4,
|
|
57834
|
+
e3.onDeleteEmitter.fire({ index: o - n2, amount: s4 }), o += s4 - 1, n2 += s4, r3 = t3[++i2];
|
|
57646
57835
|
} else s3.push(o);
|
|
57647
57836
|
return { layout: s3, countRemoved: n2 };
|
|
57648
57837
|
}, t2.reflowLargerApplyNewLayout = function(e3, t3) {
|
|
@@ -57651,11 +57840,11 @@ var require_xterm_headless = __commonJS({
|
|
|
57651
57840
|
for (let t4 = 0; t4 < s3.length; t4++) e3.set(t4, s3[t4]);
|
|
57652
57841
|
e3.length = t3.length;
|
|
57653
57842
|
}, t2.reflowSmallerGetNewLineLengths = function(e3, t3, i2) {
|
|
57654
|
-
const
|
|
57843
|
+
const r3 = [], n2 = e3.map(((i3, r4) => s2(e3, r4, t3))).reduce(((e4, t4) => e4 + t4));
|
|
57655
57844
|
let o = 0, a = 0, h = 0;
|
|
57656
57845
|
for (; h < n2; ) {
|
|
57657
57846
|
if (n2 - h < i2) {
|
|
57658
|
-
|
|
57847
|
+
r3.push(n2 - h);
|
|
57659
57848
|
break;
|
|
57660
57849
|
}
|
|
57661
57850
|
o += i2;
|
|
@@ -57664,19 +57853,19 @@ var require_xterm_headless = __commonJS({
|
|
|
57664
57853
|
const l = 2 === e3[a].getWidth(o - 1);
|
|
57665
57854
|
l && o--;
|
|
57666
57855
|
const u = l ? i2 - 1 : i2;
|
|
57667
|
-
|
|
57856
|
+
r3.push(u), h += u;
|
|
57668
57857
|
}
|
|
57669
|
-
return
|
|
57858
|
+
return r3;
|
|
57670
57859
|
}, t2.getWrappedLineTrimmedLength = s2;
|
|
57671
57860
|
}, 4097: (e2, t2, s2) => {
|
|
57672
57861
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.BufferSet = void 0;
|
|
57673
|
-
const i2 = s2(7150),
|
|
57862
|
+
const i2 = s2(7150), r3 = s2(1073), n2 = s2(802);
|
|
57674
57863
|
class o extends i2.Disposable {
|
|
57675
57864
|
constructor(e3, t3) {
|
|
57676
57865
|
super(), this._optionsService = e3, this._bufferService = t3, this._onBufferActivate = this._register(new n2.Emitter()), this.onBufferActivate = this._onBufferActivate.event, this.reset(), this._register(this._optionsService.onSpecificOptionChange("scrollback", (() => this.resize(this._bufferService.cols, this._bufferService.rows)))), this._register(this._optionsService.onSpecificOptionChange("tabStopWidth", (() => this.setupTabStops())));
|
|
57677
57866
|
}
|
|
57678
57867
|
reset() {
|
|
57679
|
-
this._normal = new
|
|
57868
|
+
this._normal = new r3.Buffer(true, this._optionsService, this._bufferService), this._normal.fillViewportRows(), this._alt = new r3.Buffer(false, this._optionsService, this._bufferService), this._activeBuffer = this._normal, this._onBufferActivate.fire({ activeBuffer: this._normal, inactiveBuffer: this._alt }), this.setupTabStops();
|
|
57680
57869
|
}
|
|
57681
57870
|
get alt() {
|
|
57682
57871
|
return this._alt;
|
|
@@ -57703,7 +57892,7 @@ var require_xterm_headless = __commonJS({
|
|
|
57703
57892
|
t2.BufferSet = o;
|
|
57704
57893
|
}, 3055: (e2, t2, s2) => {
|
|
57705
57894
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.CellData = void 0;
|
|
57706
|
-
const i2 = s2(726),
|
|
57895
|
+
const i2 = s2(726), r3 = s2(8938), n2 = s2(5451);
|
|
57707
57896
|
class o extends n2.AttributeData {
|
|
57708
57897
|
constructor() {
|
|
57709
57898
|
super(...arguments), this.content = 0, this.fg = 0, this.bg = 0, this.extended = new n2.ExtendedAttrs(), this.combinedData = "";
|
|
@@ -57725,17 +57914,17 @@ var require_xterm_headless = __commonJS({
|
|
|
57725
57914
|
return this.isCombined() ? this.combinedData.charCodeAt(this.combinedData.length - 1) : 2097151 & this.content;
|
|
57726
57915
|
}
|
|
57727
57916
|
setFromCharData(e3) {
|
|
57728
|
-
this.fg = e3[
|
|
57917
|
+
this.fg = e3[r3.CHAR_DATA_ATTR_INDEX], this.bg = 0;
|
|
57729
57918
|
let t3 = false;
|
|
57730
|
-
if (e3[
|
|
57731
|
-
else if (2 === e3[
|
|
57732
|
-
const s3 = e3[
|
|
57919
|
+
if (e3[r3.CHAR_DATA_CHAR_INDEX].length > 2) t3 = true;
|
|
57920
|
+
else if (2 === e3[r3.CHAR_DATA_CHAR_INDEX].length) {
|
|
57921
|
+
const s3 = e3[r3.CHAR_DATA_CHAR_INDEX].charCodeAt(0);
|
|
57733
57922
|
if (55296 <= s3 && s3 <= 56319) {
|
|
57734
|
-
const i3 = e3[
|
|
57735
|
-
56320 <= i3 && i3 <= 57343 ? this.content = 1024 * (s3 - 55296) + i3 - 56320 + 65536 | e3[
|
|
57923
|
+
const i3 = e3[r3.CHAR_DATA_CHAR_INDEX].charCodeAt(1);
|
|
57924
|
+
56320 <= i3 && i3 <= 57343 ? this.content = 1024 * (s3 - 55296) + i3 - 56320 + 65536 | e3[r3.CHAR_DATA_WIDTH_INDEX] << 22 : t3 = true;
|
|
57736
57925
|
} else t3 = true;
|
|
57737
|
-
} else this.content = e3[
|
|
57738
|
-
t3 && (this.combinedData = e3[
|
|
57926
|
+
} else this.content = e3[r3.CHAR_DATA_CHAR_INDEX].charCodeAt(0) | e3[r3.CHAR_DATA_WIDTH_INDEX] << 22;
|
|
57927
|
+
t3 && (this.combinedData = e3[r3.CHAR_DATA_CHAR_INDEX], this.content = 2097152 | e3[r3.CHAR_DATA_WIDTH_INDEX] << 22);
|
|
57739
57928
|
}
|
|
57740
57929
|
getAsCharData() {
|
|
57741
57930
|
return [this.fg, this.getChars(), this.getWidth(), this.getCode()];
|
|
@@ -57746,7 +57935,7 @@ var require_xterm_headless = __commonJS({
|
|
|
57746
57935
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.WHITESPACE_CELL_CODE = t2.WHITESPACE_CELL_WIDTH = t2.WHITESPACE_CELL_CHAR = t2.NULL_CELL_CODE = t2.NULL_CELL_WIDTH = t2.NULL_CELL_CHAR = t2.CHAR_DATA_CODE_INDEX = t2.CHAR_DATA_WIDTH_INDEX = t2.CHAR_DATA_CHAR_INDEX = t2.CHAR_DATA_ATTR_INDEX = t2.DEFAULT_EXT = t2.DEFAULT_ATTR = t2.DEFAULT_COLOR = void 0, t2.DEFAULT_COLOR = 0, t2.DEFAULT_ATTR = t2.DEFAULT_COLOR << 9 | 256, t2.DEFAULT_EXT = 0, t2.CHAR_DATA_ATTR_INDEX = 0, t2.CHAR_DATA_CHAR_INDEX = 1, t2.CHAR_DATA_WIDTH_INDEX = 2, t2.CHAR_DATA_CODE_INDEX = 3, t2.NULL_CELL_CHAR = "", t2.NULL_CELL_WIDTH = 1, t2.NULL_CELL_CODE = 0, t2.WHITESPACE_CELL_CHAR = " ", t2.WHITESPACE_CELL_WIDTH = 1, t2.WHITESPACE_CELL_CODE = 32;
|
|
57747
57936
|
}, 8158: (e2, t2, s2) => {
|
|
57748
57937
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.Marker = void 0;
|
|
57749
|
-
const i2 = s2(802),
|
|
57938
|
+
const i2 = s2(802), r3 = s2(7150);
|
|
57750
57939
|
class n2 {
|
|
57751
57940
|
get id() {
|
|
57752
57941
|
return this._id;
|
|
@@ -57755,7 +57944,7 @@ var require_xterm_headless = __commonJS({
|
|
|
57755
57944
|
this.line = e3, this.isDisposed = false, this._disposables = [], this._id = n2._nextId++, this._onDispose = this.register(new i2.Emitter()), this.onDispose = this._onDispose.event;
|
|
57756
57945
|
}
|
|
57757
57946
|
dispose() {
|
|
57758
|
-
this.isDisposed || (this.isDisposed = true, this.line = -1, this._onDispose.fire(), (0,
|
|
57947
|
+
this.isDisposed || (this.isDisposed = true, this.line = -1, this._onDispose.fire(), (0, r3.dispose)(this._disposables), this._disposables.length = 0);
|
|
57759
57948
|
}
|
|
57760
57949
|
register(e3) {
|
|
57761
57950
|
return this._disposables.push(e3), e3;
|
|
@@ -57765,21 +57954,21 @@ var require_xterm_headless = __commonJS({
|
|
|
57765
57954
|
}, 6760: (e2, t2) => {
|
|
57766
57955
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.DEFAULT_CHARSET = t2.CHARSETS = void 0, t2.CHARSETS = {}, t2.DEFAULT_CHARSET = t2.CHARSETS.B, t2.CHARSETS[0] = { "`": "\u25C6", a: "\u2592", b: "\u2409", c: "\u240C", d: "\u240D", e: "\u240A", f: "\xB0", g: "\xB1", h: "\u2424", i: "\u240B", j: "\u2518", k: "\u2510", l: "\u250C", m: "\u2514", n: "\u253C", o: "\u23BA", p: "\u23BB", q: "\u2500", r: "\u23BC", s: "\u23BD", t: "\u251C", u: "\u2524", v: "\u2534", w: "\u252C", x: "\u2502", y: "\u2264", z: "\u2265", "{": "\u03C0", "|": "\u2260", "}": "\xA3", "~": "\xB7" }, t2.CHARSETS.A = { "#": "\xA3" }, t2.CHARSETS.B = void 0, t2.CHARSETS[4] = { "#": "\xA3", "@": "\xBE", "[": "ij", "\\": "\xBD", "]": "|", "{": "\xA8", "|": "f", "}": "\xBC", "~": "\xB4" }, t2.CHARSETS.C = t2.CHARSETS[5] = { "[": "\xC4", "\\": "\xD6", "]": "\xC5", "^": "\xDC", "`": "\xE9", "{": "\xE4", "|": "\xF6", "}": "\xE5", "~": "\xFC" }, t2.CHARSETS.R = { "#": "\xA3", "@": "\xE0", "[": "\xB0", "\\": "\xE7", "]": "\xA7", "{": "\xE9", "|": "\xF9", "}": "\xE8", "~": "\xA8" }, t2.CHARSETS.Q = { "@": "\xE0", "[": "\xE2", "\\": "\xE7", "]": "\xEA", "^": "\xEE", "`": "\xF4", "{": "\xE9", "|": "\xF9", "}": "\xE8", "~": "\xFB" }, t2.CHARSETS.K = { "@": "\xA7", "[": "\xC4", "\\": "\xD6", "]": "\xDC", "{": "\xE4", "|": "\xF6", "}": "\xFC", "~": "\xDF" }, t2.CHARSETS.Y = { "#": "\xA3", "@": "\xA7", "[": "\xB0", "\\": "\xE7", "]": "\xE9", "`": "\xF9", "{": "\xE0", "|": "\xF2", "}": "\xE8", "~": "\xEC" }, t2.CHARSETS.E = t2.CHARSETS[6] = { "@": "\xC4", "[": "\xC6", "\\": "\xD8", "]": "\xC5", "^": "\xDC", "`": "\xE4", "{": "\xE6", "|": "\xF8", "}": "\xE5", "~": "\xFC" }, t2.CHARSETS.Z = { "#": "\xA3", "@": "\xA7", "[": "\xA1", "\\": "\xD1", "]": "\xBF", "{": "\xB0", "|": "\xF1", "}": "\xE7" }, t2.CHARSETS.H = t2.CHARSETS[7] = { "@": "\xC9", "[": "\xC4", "\\": "\xD6", "]": "\xC5", "^": "\xDC", "`": "\xE9", "{": "\xE4", "|": "\xF6", "}": "\xE5", "~": "\xFC" }, t2.CHARSETS["="] = { "#": "\xF9", "@": "\xE0", "[": "\xE9", "\\": "\xE7", "]": "\xEA", "^": "\xEE", _: "\xE8", "`": "\xF4", "{": "\xE4", "|": "\xF6", "}": "\xFC", "~": "\xFB" };
|
|
57767
57956
|
}, 3534: (e2, t2) => {
|
|
57768
|
-
var s2, i2,
|
|
57957
|
+
var s2, i2, r3;
|
|
57769
57958
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.C1_ESCAPED = t2.C1 = t2.C0 = void 0, (function(e3) {
|
|
57770
57959
|
e3.NUL = "\0", e3.SOH = "", e3.STX = "", e3.ETX = "", e3.EOT = "", e3.ENQ = "", e3.ACK = "", e3.BEL = "\x07", e3.BS = "\b", e3.HT = " ", e3.LF = "\n", e3.VT = "\v", e3.FF = "\f", e3.CR = "\r", e3.SO = "", e3.SI = "", e3.DLE = "", e3.DC1 = "", e3.DC2 = "", e3.DC3 = "", e3.DC4 = "", e3.NAK = "", e3.SYN = "", e3.ETB = "", e3.CAN = "", e3.EM = "", e3.SUB = "", e3.ESC = "\x1B", e3.FS = "", e3.GS = "", e3.RS = "", e3.US = "", e3.SP = " ", e3.DEL = "\x7F";
|
|
57771
57960
|
})(s2 || (t2.C0 = s2 = {})), (function(e3) {
|
|
57772
57961
|
e3.PAD = "\x80", e3.HOP = "\x81", e3.BPH = "\x82", e3.NBH = "\x83", e3.IND = "\x84", e3.NEL = "\x85", e3.SSA = "\x86", e3.ESA = "\x87", e3.HTS = "\x88", e3.HTJ = "\x89", e3.VTS = "\x8A", e3.PLD = "\x8B", e3.PLU = "\x8C", e3.RI = "\x8D", e3.SS2 = "\x8E", e3.SS3 = "\x8F", e3.DCS = "\x90", e3.PU1 = "\x91", e3.PU2 = "\x92", e3.STS = "\x93", e3.CCH = "\x94", e3.MW = "\x95", e3.SPA = "\x96", e3.EPA = "\x97", e3.SOS = "\x98", e3.SGCI = "\x99", e3.SCI = "\x9A", e3.CSI = "\x9B", e3.ST = "\x9C", e3.OSC = "\x9D", e3.PM = "\x9E", e3.APC = "\x9F";
|
|
57773
57962
|
})(i2 || (t2.C1 = i2 = {})), (function(e3) {
|
|
57774
57963
|
e3.ST = `${s2.ESC}\\`;
|
|
57775
|
-
})(
|
|
57964
|
+
})(r3 || (t2.C1_ESCAPED = r3 = {}));
|
|
57776
57965
|
}, 726: (e2, t2) => {
|
|
57777
57966
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.Utf8ToUtf32 = t2.StringToUtf32 = void 0, t2.stringFromCodePoint = function(e3) {
|
|
57778
57967
|
return e3 > 65535 ? (e3 -= 65536, String.fromCharCode(55296 + (e3 >> 10)) + String.fromCharCode(e3 % 1024 + 56320)) : String.fromCharCode(e3);
|
|
57779
57968
|
}, t2.utf32ToString = function(e3, t3 = 0, s2 = e3.length) {
|
|
57780
57969
|
let i2 = "";
|
|
57781
|
-
for (let
|
|
57782
|
-
let t4 = e3[
|
|
57970
|
+
for (let r3 = t3; r3 < s2; ++r3) {
|
|
57971
|
+
let t4 = e3[r3];
|
|
57783
57972
|
t4 > 65535 ? (t4 -= 65536, i2 += String.fromCharCode(55296 + (t4 >> 10)) + String.fromCharCode(t4 % 1024 + 56320)) : i2 += String.fromCharCode(t4);
|
|
57784
57973
|
}
|
|
57785
57974
|
return i2;
|
|
@@ -57793,18 +57982,18 @@ var require_xterm_headless = __commonJS({
|
|
|
57793
57982
|
decode(e3, t3) {
|
|
57794
57983
|
const s2 = e3.length;
|
|
57795
57984
|
if (!s2) return 0;
|
|
57796
|
-
let i2 = 0,
|
|
57985
|
+
let i2 = 0, r3 = 0;
|
|
57797
57986
|
if (this._interim) {
|
|
57798
|
-
const s3 = e3.charCodeAt(
|
|
57987
|
+
const s3 = e3.charCodeAt(r3++);
|
|
57799
57988
|
56320 <= s3 && s3 <= 57343 ? t3[i2++] = 1024 * (this._interim - 55296) + s3 - 56320 + 65536 : (t3[i2++] = this._interim, t3[i2++] = s3), this._interim = 0;
|
|
57800
57989
|
}
|
|
57801
|
-
for (let n2 =
|
|
57802
|
-
const
|
|
57803
|
-
if (55296 <=
|
|
57804
|
-
if (++n2 >= s2) return this._interim =
|
|
57990
|
+
for (let n2 = r3; n2 < s2; ++n2) {
|
|
57991
|
+
const r4 = e3.charCodeAt(n2);
|
|
57992
|
+
if (55296 <= r4 && r4 <= 56319) {
|
|
57993
|
+
if (++n2 >= s2) return this._interim = r4, i2;
|
|
57805
57994
|
const o = e3.charCodeAt(n2);
|
|
57806
|
-
56320 <= o && o <= 57343 ? t3[i2++] = 1024 * (
|
|
57807
|
-
} else 65279 !==
|
|
57995
|
+
56320 <= o && o <= 57343 ? t3[i2++] = 1024 * (r4 - 55296) + o - 56320 + 65536 : (t3[i2++] = r4, t3[i2++] = o);
|
|
57996
|
+
} else 65279 !== r4 && (t3[i2++] = r4);
|
|
57808
57997
|
}
|
|
57809
57998
|
return i2;
|
|
57810
57999
|
}
|
|
@@ -57818,12 +58007,12 @@ var require_xterm_headless = __commonJS({
|
|
|
57818
58007
|
decode(e3, t3) {
|
|
57819
58008
|
const s2 = e3.length;
|
|
57820
58009
|
if (!s2) return 0;
|
|
57821
|
-
let i2,
|
|
58010
|
+
let i2, r3, n2, o, a = 0, h = 0, c = 0;
|
|
57822
58011
|
if (this.interim[0]) {
|
|
57823
|
-
let i3 = false,
|
|
57824
|
-
|
|
58012
|
+
let i3 = false, r4 = this.interim[0];
|
|
58013
|
+
r4 &= 192 == (224 & r4) ? 31 : 224 == (240 & r4) ? 15 : 7;
|
|
57825
58014
|
let n3, o2 = 0;
|
|
57826
|
-
for (; (n3 = 63 & this.interim[++o2]) && o2 < 4; )
|
|
58015
|
+
for (; (n3 = 63 & this.interim[++o2]) && o2 < 4; ) r4 <<= 6, r4 |= n3;
|
|
57827
58016
|
const h2 = 192 == (224 & this.interim[0]) ? 2 : 224 == (240 & this.interim[0]) ? 3 : 4, l2 = h2 - o2;
|
|
57828
58017
|
for (; c < l2; ) {
|
|
57829
58018
|
if (c >= s2) return 0;
|
|
@@ -57831,56 +58020,56 @@ var require_xterm_headless = __commonJS({
|
|
|
57831
58020
|
c--, i3 = true;
|
|
57832
58021
|
break;
|
|
57833
58022
|
}
|
|
57834
|
-
this.interim[o2++] = n3,
|
|
58023
|
+
this.interim[o2++] = n3, r4 <<= 6, r4 |= 63 & n3;
|
|
57835
58024
|
}
|
|
57836
|
-
i3 || (2 === h2 ?
|
|
58025
|
+
i3 || (2 === h2 ? r4 < 128 ? c-- : t3[a++] = r4 : 3 === h2 ? r4 < 2048 || r4 >= 55296 && r4 <= 57343 || 65279 === r4 || (t3[a++] = r4) : r4 < 65536 || r4 > 1114111 || (t3[a++] = r4)), this.interim.fill(0);
|
|
57837
58026
|
}
|
|
57838
58027
|
const l = s2 - 4;
|
|
57839
58028
|
let u = c;
|
|
57840
58029
|
for (; u < s2; ) {
|
|
57841
|
-
for (; !(!(u < l) || 128 & (i2 = e3[u]) || 128 & (
|
|
58030
|
+
for (; !(!(u < l) || 128 & (i2 = e3[u]) || 128 & (r3 = e3[u + 1]) || 128 & (n2 = e3[u + 2]) || 128 & (o = e3[u + 3])); ) t3[a++] = i2, t3[a++] = r3, t3[a++] = n2, t3[a++] = o, u += 4;
|
|
57842
58031
|
if (i2 = e3[u++], i2 < 128) t3[a++] = i2;
|
|
57843
58032
|
else if (192 == (224 & i2)) {
|
|
57844
58033
|
if (u >= s2) return this.interim[0] = i2, a;
|
|
57845
|
-
if (
|
|
58034
|
+
if (r3 = e3[u++], 128 != (192 & r3)) {
|
|
57846
58035
|
u--;
|
|
57847
58036
|
continue;
|
|
57848
58037
|
}
|
|
57849
|
-
if (h = (31 & i2) << 6 | 63 &
|
|
58038
|
+
if (h = (31 & i2) << 6 | 63 & r3, h < 128) {
|
|
57850
58039
|
u--;
|
|
57851
58040
|
continue;
|
|
57852
58041
|
}
|
|
57853
58042
|
t3[a++] = h;
|
|
57854
58043
|
} else if (224 == (240 & i2)) {
|
|
57855
58044
|
if (u >= s2) return this.interim[0] = i2, a;
|
|
57856
|
-
if (
|
|
58045
|
+
if (r3 = e3[u++], 128 != (192 & r3)) {
|
|
57857
58046
|
u--;
|
|
57858
58047
|
continue;
|
|
57859
58048
|
}
|
|
57860
|
-
if (u >= s2) return this.interim[0] = i2, this.interim[1] =
|
|
58049
|
+
if (u >= s2) return this.interim[0] = i2, this.interim[1] = r3, a;
|
|
57861
58050
|
if (n2 = e3[u++], 128 != (192 & n2)) {
|
|
57862
58051
|
u--;
|
|
57863
58052
|
continue;
|
|
57864
58053
|
}
|
|
57865
|
-
if (h = (15 & i2) << 12 | (63 &
|
|
58054
|
+
if (h = (15 & i2) << 12 | (63 & r3) << 6 | 63 & n2, h < 2048 || h >= 55296 && h <= 57343 || 65279 === h) continue;
|
|
57866
58055
|
t3[a++] = h;
|
|
57867
58056
|
} else if (240 == (248 & i2)) {
|
|
57868
58057
|
if (u >= s2) return this.interim[0] = i2, a;
|
|
57869
|
-
if (
|
|
58058
|
+
if (r3 = e3[u++], 128 != (192 & r3)) {
|
|
57870
58059
|
u--;
|
|
57871
58060
|
continue;
|
|
57872
58061
|
}
|
|
57873
|
-
if (u >= s2) return this.interim[0] = i2, this.interim[1] =
|
|
58062
|
+
if (u >= s2) return this.interim[0] = i2, this.interim[1] = r3, a;
|
|
57874
58063
|
if (n2 = e3[u++], 128 != (192 & n2)) {
|
|
57875
58064
|
u--;
|
|
57876
58065
|
continue;
|
|
57877
58066
|
}
|
|
57878
|
-
if (u >= s2) return this.interim[0] = i2, this.interim[1] =
|
|
58067
|
+
if (u >= s2) return this.interim[0] = i2, this.interim[1] = r3, this.interim[2] = n2, a;
|
|
57879
58068
|
if (o = e3[u++], 128 != (192 & o)) {
|
|
57880
58069
|
u--;
|
|
57881
58070
|
continue;
|
|
57882
58071
|
}
|
|
57883
|
-
if (h = (7 & i2) << 18 | (63 &
|
|
58072
|
+
if (h = (7 & i2) << 18 | (63 & r3) << 12 | (63 & n2) << 6 | 63 & o, h < 65536 || h > 1114111) continue;
|
|
57884
58073
|
t3[a++] = h;
|
|
57885
58074
|
}
|
|
57886
58075
|
}
|
|
@@ -57889,42 +58078,42 @@ var require_xterm_headless = __commonJS({
|
|
|
57889
58078
|
};
|
|
57890
58079
|
}, 7428: (e2, t2, s2) => {
|
|
57891
58080
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.UnicodeV6 = void 0;
|
|
57892
|
-
const i2 = s2(6415),
|
|
58081
|
+
const i2 = s2(6415), r3 = [[768, 879], [1155, 1158], [1160, 1161], [1425, 1469], [1471, 1471], [1473, 1474], [1476, 1477], [1479, 1479], [1536, 1539], [1552, 1557], [1611, 1630], [1648, 1648], [1750, 1764], [1767, 1768], [1770, 1773], [1807, 1807], [1809, 1809], [1840, 1866], [1958, 1968], [2027, 2035], [2305, 2306], [2364, 2364], [2369, 2376], [2381, 2381], [2385, 2388], [2402, 2403], [2433, 2433], [2492, 2492], [2497, 2500], [2509, 2509], [2530, 2531], [2561, 2562], [2620, 2620], [2625, 2626], [2631, 2632], [2635, 2637], [2672, 2673], [2689, 2690], [2748, 2748], [2753, 2757], [2759, 2760], [2765, 2765], [2786, 2787], [2817, 2817], [2876, 2876], [2879, 2879], [2881, 2883], [2893, 2893], [2902, 2902], [2946, 2946], [3008, 3008], [3021, 3021], [3134, 3136], [3142, 3144], [3146, 3149], [3157, 3158], [3260, 3260], [3263, 3263], [3270, 3270], [3276, 3277], [3298, 3299], [3393, 3395], [3405, 3405], [3530, 3530], [3538, 3540], [3542, 3542], [3633, 3633], [3636, 3642], [3655, 3662], [3761, 3761], [3764, 3769], [3771, 3772], [3784, 3789], [3864, 3865], [3893, 3893], [3895, 3895], [3897, 3897], [3953, 3966], [3968, 3972], [3974, 3975], [3984, 3991], [3993, 4028], [4038, 4038], [4141, 4144], [4146, 4146], [4150, 4151], [4153, 4153], [4184, 4185], [4448, 4607], [4959, 4959], [5906, 5908], [5938, 5940], [5970, 5971], [6002, 6003], [6068, 6069], [6071, 6077], [6086, 6086], [6089, 6099], [6109, 6109], [6155, 6157], [6313, 6313], [6432, 6434], [6439, 6440], [6450, 6450], [6457, 6459], [6679, 6680], [6912, 6915], [6964, 6964], [6966, 6970], [6972, 6972], [6978, 6978], [7019, 7027], [7616, 7626], [7678, 7679], [8203, 8207], [8234, 8238], [8288, 8291], [8298, 8303], [8400, 8431], [12330, 12335], [12441, 12442], [43014, 43014], [43019, 43019], [43045, 43046], [64286, 64286], [65024, 65039], [65056, 65059], [65279, 65279], [65529, 65531]], n2 = [[68097, 68099], [68101, 68102], [68108, 68111], [68152, 68154], [68159, 68159], [119143, 119145], [119155, 119170], [119173, 119179], [119210, 119213], [119362, 119364], [917505, 917505], [917536, 917631], [917760, 917999]];
|
|
57893
58082
|
let o;
|
|
57894
58083
|
t2.UnicodeV6 = class {
|
|
57895
58084
|
constructor() {
|
|
57896
58085
|
if (this.version = "6", !o) {
|
|
57897
58086
|
o = new Uint8Array(65536), o.fill(1), o[0] = 0, o.fill(0, 1, 32), o.fill(0, 127, 160), o.fill(2, 4352, 4448), o[9001] = 2, o[9002] = 2, o.fill(2, 11904, 42192), o[12351] = 1, o.fill(2, 44032, 55204), o.fill(2, 63744, 64256), o.fill(2, 65040, 65050), o.fill(2, 65072, 65136), o.fill(2, 65280, 65377), o.fill(2, 65504, 65511);
|
|
57898
|
-
for (let e3 = 0; e3 <
|
|
58087
|
+
for (let e3 = 0; e3 < r3.length; ++e3) o.fill(0, r3[e3][0], r3[e3][1] + 1);
|
|
57899
58088
|
}
|
|
57900
58089
|
}
|
|
57901
58090
|
wcwidth(e3) {
|
|
57902
58091
|
return e3 < 32 ? 0 : e3 < 127 ? 1 : e3 < 65536 ? o[e3] : (function(e4, t3) {
|
|
57903
|
-
let s3, i3 = 0,
|
|
57904
|
-
if (e4 < t3[0][0] || e4 > t3[
|
|
57905
|
-
for (;
|
|
58092
|
+
let s3, i3 = 0, r4 = t3.length - 1;
|
|
58093
|
+
if (e4 < t3[0][0] || e4 > t3[r4][1]) return false;
|
|
58094
|
+
for (; r4 >= i3; ) if (s3 = i3 + r4 >> 1, e4 > t3[s3][1]) i3 = s3 + 1;
|
|
57906
58095
|
else {
|
|
57907
58096
|
if (!(e4 < t3[s3][0])) return true;
|
|
57908
|
-
|
|
58097
|
+
r4 = s3 - 1;
|
|
57909
58098
|
}
|
|
57910
58099
|
return false;
|
|
57911
58100
|
})(e3, n2) ? 0 : e3 >= 131072 && e3 <= 196605 || e3 >= 196608 && e3 <= 262141 ? 2 : 1;
|
|
57912
58101
|
}
|
|
57913
58102
|
charProperties(e3, t3) {
|
|
57914
|
-
let s3 = this.wcwidth(e3),
|
|
57915
|
-
if (
|
|
58103
|
+
let s3 = this.wcwidth(e3), r4 = 0 === s3 && 0 !== t3;
|
|
58104
|
+
if (r4) {
|
|
57916
58105
|
const e4 = i2.UnicodeService.extractWidth(t3);
|
|
57917
|
-
0 === e4 ?
|
|
58106
|
+
0 === e4 ? r4 = false : e4 > s3 && (s3 = e4);
|
|
57918
58107
|
}
|
|
57919
|
-
return i2.UnicodeService.createPropertyValue(0, s3,
|
|
58108
|
+
return i2.UnicodeService.createPropertyValue(0, s3, r4);
|
|
57920
58109
|
}
|
|
57921
58110
|
};
|
|
57922
58111
|
}, 3562: (e2, t2, s2) => {
|
|
57923
58112
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.WriteBuffer = void 0;
|
|
57924
|
-
const i2 = s2(7150),
|
|
58113
|
+
const i2 = s2(7150), r3 = s2(802);
|
|
57925
58114
|
class n2 extends i2.Disposable {
|
|
57926
58115
|
constructor(e3) {
|
|
57927
|
-
super(), this._action = e3, this._writeBuffer = [], this._callbacks = [], this._pendingData = 0, this._bufferOffset = 0, this._isSyncWriting = false, this._syncCalls = 0, this._didUserInput = false, this._onWriteParsed = this._register(new
|
|
58116
|
+
super(), this._action = e3, this._writeBuffer = [], this._callbacks = [], this._pendingData = 0, this._bufferOffset = 0, this._isSyncWriting = false, this._syncCalls = 0, this._didUserInput = false, this._onWriteParsed = this._register(new r3.Emitter()), this.onWriteParsed = this._onWriteParsed.event;
|
|
57928
58117
|
}
|
|
57929
58118
|
handleUserInput() {
|
|
57930
58119
|
this._didUserInput = true;
|
|
@@ -57958,8 +58147,8 @@ var require_xterm_headless = __commonJS({
|
|
|
57958
58147
|
throw e6;
|
|
57959
58148
|
})), Promise.resolve(false)))).then(e5);
|
|
57960
58149
|
}
|
|
57961
|
-
const
|
|
57962
|
-
if (
|
|
58150
|
+
const r4 = this._callbacks[this._bufferOffset];
|
|
58151
|
+
if (r4 && r4(), this._bufferOffset++, this._pendingData -= e4.length, performance.now() - s3 >= 12) break;
|
|
57963
58152
|
}
|
|
57964
58153
|
this._writeBuffer.length > this._bufferOffset ? (this._bufferOffset > 50 && (this._writeBuffer = this._writeBuffer.slice(this._bufferOffset), this._callbacks = this._callbacks.slice(this._bufferOffset), this._bufferOffset = 0), setTimeout((() => this._innerWrite()))) : (this._writeBuffer.length = 0, this._callbacks.length = 0, this._pendingData = 0, this._bufferOffset = 0), this._onWriteParsed.fire();
|
|
57965
58154
|
}
|
|
@@ -57979,17 +58168,17 @@ var require_xterm_headless = __commonJS({
|
|
|
57979
58168
|
} else if (0 === t3.indexOf("#") && (t3 = t3.slice(1), i2.exec(t3) && [3, 6, 9, 12].includes(t3.length))) {
|
|
57980
58169
|
const e4 = t3.length / 3, s3 = [0, 0, 0];
|
|
57981
58170
|
for (let i3 = 0; i3 < 3; ++i3) {
|
|
57982
|
-
const
|
|
57983
|
-
s3[i3] = 1 === e4 ?
|
|
58171
|
+
const r4 = parseInt(t3.slice(e4 * i3, e4 * i3 + e4), 16);
|
|
58172
|
+
s3[i3] = 1 === e4 ? r4 << 4 : 2 === e4 ? r4 : 3 === e4 ? r4 >> 4 : r4 >> 8;
|
|
57984
58173
|
}
|
|
57985
58174
|
return s3;
|
|
57986
58175
|
}
|
|
57987
58176
|
}, t2.toRgbString = function(e3, t3 = 16) {
|
|
57988
58177
|
const [s3, i3, n2] = e3;
|
|
57989
|
-
return `rgb:${
|
|
58178
|
+
return `rgb:${r3(s3, t3)}/${r3(i3, t3)}/${r3(n2, t3)}`;
|
|
57990
58179
|
};
|
|
57991
58180
|
const s2 = /^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/, i2 = /^[\da-f]+$/;
|
|
57992
|
-
function
|
|
58181
|
+
function r3(e3, t3) {
|
|
57993
58182
|
const s3 = e3.toString(16), i3 = s3.length < 2 ? "0" + s3 : s3;
|
|
57994
58183
|
switch (t3) {
|
|
57995
58184
|
case 4:
|
|
@@ -58006,7 +58195,7 @@ var require_xterm_headless = __commonJS({
|
|
|
58006
58195
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.PAYLOAD_LIMIT = void 0, t2.PAYLOAD_LIMIT = 1e7;
|
|
58007
58196
|
}, 9823: (e2, t2, s2) => {
|
|
58008
58197
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.DcsHandler = t2.DcsParser = void 0;
|
|
58009
|
-
const i2 = s2(726),
|
|
58198
|
+
const i2 = s2(726), r3 = s2(7262), n2 = s2(1263), o = [];
|
|
58010
58199
|
t2.DcsParser = class {
|
|
58011
58200
|
constructor() {
|
|
58012
58201
|
this._handlers = /* @__PURE__ */ Object.create(null), this._active = o, this._ident = 0, this._handlerFb = () => {
|
|
@@ -58044,8 +58233,8 @@ var require_xterm_headless = __commonJS({
|
|
|
58044
58233
|
}
|
|
58045
58234
|
unhook(e3, t3 = true) {
|
|
58046
58235
|
if (this._active.length) {
|
|
58047
|
-
let s3 = false, i3 = this._active.length - 1,
|
|
58048
|
-
if (this._stack.paused && (i3 = this._stack.loopPosition - 1, s3 = t3,
|
|
58236
|
+
let s3 = false, i3 = this._active.length - 1, r4 = false;
|
|
58237
|
+
if (this._stack.paused && (i3 = this._stack.loopPosition - 1, s3 = t3, r4 = this._stack.fallThrough, this._stack.paused = false), !r4 && false === s3) {
|
|
58049
58238
|
for (; i3 >= 0 && (s3 = this._active[i3].unhook(e3), true !== s3); i3--) if (s3 instanceof Promise) return this._stack.paused = true, this._stack.loopPosition = i3, this._stack.fallThrough = false, s3;
|
|
58050
58239
|
i3--;
|
|
58051
58240
|
}
|
|
@@ -58054,7 +58243,7 @@ var require_xterm_headless = __commonJS({
|
|
|
58054
58243
|
this._active = o, this._ident = 0;
|
|
58055
58244
|
}
|
|
58056
58245
|
};
|
|
58057
|
-
const a = new
|
|
58246
|
+
const a = new r3.Params();
|
|
58058
58247
|
a.addParam(0), t2.DcsHandler = class {
|
|
58059
58248
|
constructor(e3) {
|
|
58060
58249
|
this._handler = e3, this._data = "", this._params = a, this._hitLimit = false;
|
|
@@ -58074,7 +58263,7 @@ var require_xterm_headless = __commonJS({
|
|
|
58074
58263
|
};
|
|
58075
58264
|
}, 6717: (e2, t2, s2) => {
|
|
58076
58265
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.EscapeSequenceParser = t2.VT500_TRANSITION_TABLE = t2.TransitionTable = void 0;
|
|
58077
|
-
const i2 = s2(7150),
|
|
58266
|
+
const i2 = s2(7150), r3 = s2(7262), n2 = s2(1346), o = s2(9823);
|
|
58078
58267
|
class a {
|
|
58079
58268
|
constructor(e3) {
|
|
58080
58269
|
this.table = new Uint8Array(e3);
|
|
@@ -58086,22 +58275,22 @@ var require_xterm_headless = __commonJS({
|
|
|
58086
58275
|
this.table[t3 << 8 | e3] = s3 << 4 | i3;
|
|
58087
58276
|
}
|
|
58088
58277
|
addMany(e3, t3, s3, i3) {
|
|
58089
|
-
for (let
|
|
58278
|
+
for (let r4 = 0; r4 < e3.length; r4++) this.table[t3 << 8 | e3[r4]] = s3 << 4 | i3;
|
|
58090
58279
|
}
|
|
58091
58280
|
}
|
|
58092
58281
|
t2.TransitionTable = a;
|
|
58093
58282
|
const h = 160;
|
|
58094
58283
|
t2.VT500_TRANSITION_TABLE = (function() {
|
|
58095
|
-
const e3 = new a(4095), t3 = Array.apply(null, Array(256)).map(((e4, t4) => t4)), s3 = (e4, s4) => t3.slice(e4, s4), i3 = s3(32, 127),
|
|
58096
|
-
|
|
58284
|
+
const e3 = new a(4095), t3 = Array.apply(null, Array(256)).map(((e4, t4) => t4)), s3 = (e4, s4) => t3.slice(e4, s4), i3 = s3(32, 127), r4 = s3(0, 24);
|
|
58285
|
+
r4.push(25), r4.push.apply(r4, s3(28, 32));
|
|
58097
58286
|
const n3 = s3(0, 14);
|
|
58098
58287
|
let o2;
|
|
58099
58288
|
for (o2 in e3.setDefault(1, 0), e3.addMany(i3, 0, 2, 0), n3) e3.addMany([24, 26, 153, 154], o2, 3, 0), e3.addMany(s3(128, 144), o2, 3, 0), e3.addMany(s3(144, 152), o2, 3, 0), e3.add(156, o2, 0, 0), e3.add(27, o2, 11, 1), e3.add(157, o2, 4, 8), e3.addMany([152, 158, 159], o2, 0, 7), e3.add(155, o2, 11, 3), e3.add(144, o2, 11, 9);
|
|
58100
|
-
return e3.addMany(
|
|
58289
|
+
return e3.addMany(r4, 0, 3, 0), e3.addMany(r4, 1, 3, 1), e3.add(127, 1, 0, 1), e3.addMany(r4, 8, 0, 8), e3.addMany(r4, 3, 3, 3), e3.add(127, 3, 0, 3), e3.addMany(r4, 4, 3, 4), e3.add(127, 4, 0, 4), e3.addMany(r4, 6, 3, 6), e3.addMany(r4, 5, 3, 5), e3.add(127, 5, 0, 5), e3.addMany(r4, 2, 3, 2), e3.add(127, 2, 0, 2), e3.add(93, 1, 4, 8), e3.addMany(i3, 8, 5, 8), e3.add(127, 8, 5, 8), e3.addMany([156, 27, 24, 26, 7], 8, 6, 0), e3.addMany(s3(28, 32), 8, 0, 8), e3.addMany([88, 94, 95], 1, 0, 7), e3.addMany(i3, 7, 0, 7), e3.addMany(r4, 7, 0, 7), e3.add(156, 7, 0, 0), e3.add(127, 7, 0, 7), e3.add(91, 1, 11, 3), e3.addMany(s3(64, 127), 3, 7, 0), e3.addMany(s3(48, 60), 3, 8, 4), e3.addMany([60, 61, 62, 63], 3, 9, 4), e3.addMany(s3(48, 60), 4, 8, 4), e3.addMany(s3(64, 127), 4, 7, 0), e3.addMany([60, 61, 62, 63], 4, 0, 6), e3.addMany(s3(32, 64), 6, 0, 6), e3.add(127, 6, 0, 6), e3.addMany(s3(64, 127), 6, 0, 0), e3.addMany(s3(32, 48), 3, 9, 5), e3.addMany(s3(32, 48), 5, 9, 5), e3.addMany(s3(48, 64), 5, 0, 6), e3.addMany(s3(64, 127), 5, 7, 0), e3.addMany(s3(32, 48), 4, 9, 5), e3.addMany(s3(32, 48), 1, 9, 2), e3.addMany(s3(32, 48), 2, 9, 2), e3.addMany(s3(48, 127), 2, 10, 0), e3.addMany(s3(48, 80), 1, 10, 0), e3.addMany(s3(81, 88), 1, 10, 0), e3.addMany([89, 90, 92], 1, 10, 0), e3.addMany(s3(96, 127), 1, 10, 0), e3.add(80, 1, 11, 9), e3.addMany(r4, 9, 0, 9), e3.add(127, 9, 0, 9), e3.addMany(s3(28, 32), 9, 0, 9), e3.addMany(s3(32, 48), 9, 9, 12), e3.addMany(s3(48, 60), 9, 8, 10), e3.addMany([60, 61, 62, 63], 9, 9, 10), e3.addMany(r4, 11, 0, 11), e3.addMany(s3(32, 128), 11, 0, 11), e3.addMany(s3(28, 32), 11, 0, 11), e3.addMany(r4, 10, 0, 10), e3.add(127, 10, 0, 10), e3.addMany(s3(28, 32), 10, 0, 10), e3.addMany(s3(48, 60), 10, 8, 10), e3.addMany([60, 61, 62, 63], 10, 0, 11), e3.addMany(s3(32, 48), 10, 9, 12), e3.addMany(r4, 12, 0, 12), e3.add(127, 12, 0, 12), e3.addMany(s3(28, 32), 12, 0, 12), e3.addMany(s3(32, 48), 12, 9, 12), e3.addMany(s3(48, 64), 12, 0, 11), e3.addMany(s3(64, 127), 12, 12, 13), e3.addMany(s3(64, 127), 10, 12, 13), e3.addMany(s3(64, 127), 9, 12, 13), e3.addMany(r4, 13, 13, 13), e3.addMany(i3, 13, 13, 13), e3.add(127, 13, 0, 13), e3.addMany([27, 156, 24, 26], 13, 14, 0), e3.add(h, 0, 2, 0), e3.add(h, 8, 5, 8), e3.add(h, 6, 0, 6), e3.add(h, 11, 0, 11), e3.add(h, 13, 13, 13), e3;
|
|
58101
58290
|
})();
|
|
58102
58291
|
class c extends i2.Disposable {
|
|
58103
58292
|
constructor(e3 = t2.VT500_TRANSITION_TABLE) {
|
|
58104
|
-
super(), this._transitions = e3, this._parseStack = { state: 0, handlers: [], handlerPos: 0, transition: 0, chunkPos: 0 }, this.initialState = 0, this.currentState = this.initialState, this._params = new
|
|
58293
|
+
super(), this._transitions = e3, this._parseStack = { state: 0, handlers: [], handlerPos: 0, transition: 0, chunkPos: 0 }, this.initialState = 0, this.currentState = this.initialState, this._params = new r3.Params(), this._params.addParam(0), this._collect = 0, this.precedingJoinState = 0, this._printHandlerFb = (e4, t3, s3) => {
|
|
58105
58294
|
}, this._executeHandlerFb = (e4) => {
|
|
58106
58295
|
}, this._csiHandlerFb = (e4, t3) => {
|
|
58107
58296
|
}, this._escHandlerFb = (e4) => {
|
|
@@ -58205,11 +58394,11 @@ var require_xterm_headless = __commonJS({
|
|
|
58205
58394
|
reset() {
|
|
58206
58395
|
this.currentState = this.initialState, this._oscParser.reset(), this._dcsParser.reset(), this._params.reset(), this._params.addParam(0), this._collect = 0, this.precedingJoinState = 0, 0 !== this._parseStack.state && (this._parseStack.state = 2, this._parseStack.handlers = []);
|
|
58207
58396
|
}
|
|
58208
|
-
_preserveStack(e3, t3, s3, i3,
|
|
58209
|
-
this._parseStack.state = e3, this._parseStack.handlers = t3, this._parseStack.handlerPos = s3, this._parseStack.transition = i3, this._parseStack.chunkPos =
|
|
58397
|
+
_preserveStack(e3, t3, s3, i3, r4) {
|
|
58398
|
+
this._parseStack.state = e3, this._parseStack.handlers = t3, this._parseStack.handlerPos = s3, this._parseStack.transition = i3, this._parseStack.chunkPos = r4;
|
|
58210
58399
|
}
|
|
58211
58400
|
parse(e3, t3, s3) {
|
|
58212
|
-
let i3,
|
|
58401
|
+
let i3, r4 = 0, n3 = 0, o2 = 0;
|
|
58213
58402
|
if (this._parseStack.state) if (2 === this._parseStack.state) this._parseStack.state = 0, o2 = this._parseStack.chunkPos + 1;
|
|
58214
58403
|
else {
|
|
58215
58404
|
if (void 0 === s3 || 1 === this._parseStack.state) throw this._parseStack.state = 1, new Error("improper continuation due to previous async handler, giving up parsing");
|
|
@@ -58229,54 +58418,54 @@ var require_xterm_headless = __commonJS({
|
|
|
58229
58418
|
this._parseStack.handlers = [];
|
|
58230
58419
|
break;
|
|
58231
58420
|
case 6:
|
|
58232
|
-
if (
|
|
58233
|
-
27 ===
|
|
58421
|
+
if (r4 = e3[this._parseStack.chunkPos], i3 = this._dcsParser.unhook(24 !== r4 && 26 !== r4, s3), i3) return i3;
|
|
58422
|
+
27 === r4 && (this._parseStack.transition |= 1), this._params.reset(), this._params.addParam(0), this._collect = 0;
|
|
58234
58423
|
break;
|
|
58235
58424
|
case 5:
|
|
58236
|
-
if (
|
|
58237
|
-
27 ===
|
|
58425
|
+
if (r4 = e3[this._parseStack.chunkPos], i3 = this._oscParser.end(24 !== r4 && 26 !== r4, s3), i3) return i3;
|
|
58426
|
+
27 === r4 && (this._parseStack.transition |= 1), this._params.reset(), this._params.addParam(0), this._collect = 0;
|
|
58238
58427
|
}
|
|
58239
58428
|
this._parseStack.state = 0, o2 = this._parseStack.chunkPos + 1, this.precedingJoinState = 0, this.currentState = 15 & this._parseStack.transition;
|
|
58240
58429
|
}
|
|
58241
58430
|
for (let s4 = o2; s4 < t3; ++s4) {
|
|
58242
|
-
switch (
|
|
58431
|
+
switch (r4 = e3[s4], n3 = this._transitions.table[this.currentState << 8 | (r4 < 160 ? r4 : h)], n3 >> 4) {
|
|
58243
58432
|
case 2:
|
|
58244
58433
|
for (let i4 = s4 + 1; ; ++i4) {
|
|
58245
|
-
if (i4 >= t3 || (
|
|
58434
|
+
if (i4 >= t3 || (r4 = e3[i4]) < 32 || r4 > 126 && r4 < h) {
|
|
58246
58435
|
this._printHandler(e3, s4, i4), s4 = i4 - 1;
|
|
58247
58436
|
break;
|
|
58248
58437
|
}
|
|
58249
|
-
if (++i4 >= t3 || (
|
|
58438
|
+
if (++i4 >= t3 || (r4 = e3[i4]) < 32 || r4 > 126 && r4 < h) {
|
|
58250
58439
|
this._printHandler(e3, s4, i4), s4 = i4 - 1;
|
|
58251
58440
|
break;
|
|
58252
58441
|
}
|
|
58253
|
-
if (++i4 >= t3 || (
|
|
58442
|
+
if (++i4 >= t3 || (r4 = e3[i4]) < 32 || r4 > 126 && r4 < h) {
|
|
58254
58443
|
this._printHandler(e3, s4, i4), s4 = i4 - 1;
|
|
58255
58444
|
break;
|
|
58256
58445
|
}
|
|
58257
|
-
if (++i4 >= t3 || (
|
|
58446
|
+
if (++i4 >= t3 || (r4 = e3[i4]) < 32 || r4 > 126 && r4 < h) {
|
|
58258
58447
|
this._printHandler(e3, s4, i4), s4 = i4 - 1;
|
|
58259
58448
|
break;
|
|
58260
58449
|
}
|
|
58261
58450
|
}
|
|
58262
58451
|
break;
|
|
58263
58452
|
case 3:
|
|
58264
|
-
this._executeHandlers[
|
|
58453
|
+
this._executeHandlers[r4] ? this._executeHandlers[r4]() : this._executeHandlerFb(r4), this.precedingJoinState = 0;
|
|
58265
58454
|
break;
|
|
58266
58455
|
case 0:
|
|
58267
58456
|
break;
|
|
58268
58457
|
case 1:
|
|
58269
|
-
if (this._errorHandler({ position: s4, code:
|
|
58458
|
+
if (this._errorHandler({ position: s4, code: r4, currentState: this.currentState, collect: this._collect, params: this._params, abort: false }).abort) return;
|
|
58270
58459
|
break;
|
|
58271
58460
|
case 7:
|
|
58272
|
-
const o3 = this._csiHandlers[this._collect << 8 |
|
|
58461
|
+
const o3 = this._csiHandlers[this._collect << 8 | r4];
|
|
58273
58462
|
let a2 = o3 ? o3.length - 1 : -1;
|
|
58274
58463
|
for (; a2 >= 0 && (i3 = o3[a2](this._params), true !== i3); a2--) if (i3 instanceof Promise) return this._preserveStack(3, o3, a2, n3, s4), i3;
|
|
58275
|
-
a2 < 0 && this._csiHandlerFb(this._collect << 8 |
|
|
58464
|
+
a2 < 0 && this._csiHandlerFb(this._collect << 8 | r4, this._params), this.precedingJoinState = 0;
|
|
58276
58465
|
break;
|
|
58277
58466
|
case 8:
|
|
58278
58467
|
do {
|
|
58279
|
-
switch (
|
|
58468
|
+
switch (r4) {
|
|
58280
58469
|
case 59:
|
|
58281
58470
|
this._params.addParam(0);
|
|
58282
58471
|
break;
|
|
@@ -58284,48 +58473,48 @@ var require_xterm_headless = __commonJS({
|
|
|
58284
58473
|
this._params.addSubParam(-1);
|
|
58285
58474
|
break;
|
|
58286
58475
|
default:
|
|
58287
|
-
this._params.addDigit(
|
|
58476
|
+
this._params.addDigit(r4 - 48);
|
|
58288
58477
|
}
|
|
58289
|
-
} while (++s4 < t3 && (
|
|
58478
|
+
} while (++s4 < t3 && (r4 = e3[s4]) > 47 && r4 < 60);
|
|
58290
58479
|
s4--;
|
|
58291
58480
|
break;
|
|
58292
58481
|
case 9:
|
|
58293
|
-
this._collect <<= 8, this._collect |=
|
|
58482
|
+
this._collect <<= 8, this._collect |= r4;
|
|
58294
58483
|
break;
|
|
58295
58484
|
case 10:
|
|
58296
|
-
const c2 = this._escHandlers[this._collect << 8 |
|
|
58485
|
+
const c2 = this._escHandlers[this._collect << 8 | r4];
|
|
58297
58486
|
let l = c2 ? c2.length - 1 : -1;
|
|
58298
58487
|
for (; l >= 0 && (i3 = c2[l](), true !== i3); l--) if (i3 instanceof Promise) return this._preserveStack(4, c2, l, n3, s4), i3;
|
|
58299
|
-
l < 0 && this._escHandlerFb(this._collect << 8 |
|
|
58488
|
+
l < 0 && this._escHandlerFb(this._collect << 8 | r4), this.precedingJoinState = 0;
|
|
58300
58489
|
break;
|
|
58301
58490
|
case 11:
|
|
58302
58491
|
this._params.reset(), this._params.addParam(0), this._collect = 0;
|
|
58303
58492
|
break;
|
|
58304
58493
|
case 12:
|
|
58305
|
-
this._dcsParser.hook(this._collect << 8 |
|
|
58494
|
+
this._dcsParser.hook(this._collect << 8 | r4, this._params);
|
|
58306
58495
|
break;
|
|
58307
58496
|
case 13:
|
|
58308
|
-
for (let i4 = s4 + 1; ; ++i4) if (i4 >= t3 || 24 === (
|
|
58497
|
+
for (let i4 = s4 + 1; ; ++i4) if (i4 >= t3 || 24 === (r4 = e3[i4]) || 26 === r4 || 27 === r4 || r4 > 127 && r4 < h) {
|
|
58309
58498
|
this._dcsParser.put(e3, s4, i4), s4 = i4 - 1;
|
|
58310
58499
|
break;
|
|
58311
58500
|
}
|
|
58312
58501
|
break;
|
|
58313
58502
|
case 14:
|
|
58314
|
-
if (i3 = this._dcsParser.unhook(24 !==
|
|
58315
|
-
27 ===
|
|
58503
|
+
if (i3 = this._dcsParser.unhook(24 !== r4 && 26 !== r4), i3) return this._preserveStack(6, [], 0, n3, s4), i3;
|
|
58504
|
+
27 === r4 && (n3 |= 1), this._params.reset(), this._params.addParam(0), this._collect = 0, this.precedingJoinState = 0;
|
|
58316
58505
|
break;
|
|
58317
58506
|
case 4:
|
|
58318
58507
|
this._oscParser.start();
|
|
58319
58508
|
break;
|
|
58320
58509
|
case 5:
|
|
58321
|
-
for (let i4 = s4 + 1; ; i4++) if (i4 >= t3 || (
|
|
58510
|
+
for (let i4 = s4 + 1; ; i4++) if (i4 >= t3 || (r4 = e3[i4]) < 32 || r4 > 127 && r4 < h) {
|
|
58322
58511
|
this._oscParser.put(e3, s4, i4), s4 = i4 - 1;
|
|
58323
58512
|
break;
|
|
58324
58513
|
}
|
|
58325
58514
|
break;
|
|
58326
58515
|
case 6:
|
|
58327
|
-
if (i3 = this._oscParser.end(24 !==
|
|
58328
|
-
27 ===
|
|
58516
|
+
if (i3 = this._oscParser.end(24 !== r4 && 26 !== r4), i3) return this._preserveStack(5, [], 0, n3, s4), i3;
|
|
58517
|
+
27 === r4 && (n3 |= 1), this._params.reset(), this._params.addParam(0), this._collect = 0, this.precedingJoinState = 0;
|
|
58329
58518
|
}
|
|
58330
58519
|
this.currentState = 15 & n3;
|
|
58331
58520
|
}
|
|
@@ -58334,7 +58523,7 @@ var require_xterm_headless = __commonJS({
|
|
|
58334
58523
|
t2.EscapeSequenceParser = c;
|
|
58335
58524
|
}, 1346: (e2, t2, s2) => {
|
|
58336
58525
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.OscHandler = t2.OscParser = void 0;
|
|
58337
|
-
const i2 = s2(1263),
|
|
58526
|
+
const i2 = s2(1263), r3 = s2(726), n2 = [];
|
|
58338
58527
|
t2.OscParser = class {
|
|
58339
58528
|
constructor() {
|
|
58340
58529
|
this._state = 0, this._active = n2, this._id = -1, this._handlers = /* @__PURE__ */ Object.create(null), this._handlerFb = () => {
|
|
@@ -58368,7 +58557,7 @@ var require_xterm_headless = __commonJS({
|
|
|
58368
58557
|
}
|
|
58369
58558
|
_put(e3, t3, s3) {
|
|
58370
58559
|
if (this._active.length) for (let i3 = this._active.length - 1; i3 >= 0; i3--) this._active[i3].put(e3, t3, s3);
|
|
58371
|
-
else this._handlerFb(this._id, "PUT", (0,
|
|
58560
|
+
else this._handlerFb(this._id, "PUT", (0, r3.utf32ToString)(e3, t3, s3));
|
|
58372
58561
|
}
|
|
58373
58562
|
start() {
|
|
58374
58563
|
this.reset(), this._state = 1;
|
|
@@ -58390,8 +58579,8 @@ var require_xterm_headless = __commonJS({
|
|
|
58390
58579
|
end(e3, t3 = true) {
|
|
58391
58580
|
if (0 !== this._state) {
|
|
58392
58581
|
if (3 !== this._state) if (1 === this._state && this._start(), this._active.length) {
|
|
58393
|
-
let s3 = false, i3 = this._active.length - 1,
|
|
58394
|
-
if (this._stack.paused && (i3 = this._stack.loopPosition - 1, s3 = t3,
|
|
58582
|
+
let s3 = false, i3 = this._active.length - 1, r4 = false;
|
|
58583
|
+
if (this._stack.paused && (i3 = this._stack.loopPosition - 1, s3 = t3, r4 = this._stack.fallThrough, this._stack.paused = false), !r4 && false === s3) {
|
|
58395
58584
|
for (; i3 >= 0 && (s3 = this._active[i3].end(e3), true !== s3); i3--) if (s3 instanceof Promise) return this._stack.paused = true, this._stack.loopPosition = i3, this._stack.fallThrough = false, s3;
|
|
58396
58585
|
i3--;
|
|
58397
58586
|
}
|
|
@@ -58408,7 +58597,7 @@ var require_xterm_headless = __commonJS({
|
|
|
58408
58597
|
this._data = "", this._hitLimit = false;
|
|
58409
58598
|
}
|
|
58410
58599
|
put(e3, t3, s3) {
|
|
58411
|
-
this._hitLimit || (this._data += (0,
|
|
58600
|
+
this._hitLimit || (this._data += (0, r3.utf32ToString)(e3, t3, s3), this._data.length > i2.PAYLOAD_LIMIT && (this._data = "", this._hitLimit = true));
|
|
58412
58601
|
}
|
|
58413
58602
|
end(e3) {
|
|
58414
58603
|
let t3 = false;
|
|
@@ -58483,8 +58672,8 @@ var require_xterm_headless = __commonJS({
|
|
|
58483
58672
|
addDigit(e3) {
|
|
58484
58673
|
let t3;
|
|
58485
58674
|
if (this._rejectDigits || !(t3 = this._digitIsSub ? this._subParamsLength : this.length) || this._digitIsSub && this._rejectSubDigits) return;
|
|
58486
|
-
const i3 = this._digitIsSub ? this._subParams : this.params,
|
|
58487
|
-
i3[t3 - 1] = ~
|
|
58675
|
+
const i3 = this._digitIsSub ? this._subParams : this.params, r3 = i3[t3 - 1];
|
|
58676
|
+
i3[t3 - 1] = ~r3 ? Math.min(10 * r3 + e3, s2) : e3;
|
|
58488
58677
|
}
|
|
58489
58678
|
}
|
|
58490
58679
|
t2.Params = i2;
|
|
@@ -58513,7 +58702,7 @@ var require_xterm_headless = __commonJS({
|
|
|
58513
58702
|
};
|
|
58514
58703
|
}, 3235: (e2, t2, s2) => {
|
|
58515
58704
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.BufferApiView = void 0;
|
|
58516
|
-
const i2 = s2(793),
|
|
58705
|
+
const i2 = s2(793), r3 = s2(3055);
|
|
58517
58706
|
t2.BufferApiView = class {
|
|
58518
58707
|
constructor(e3, t3) {
|
|
58519
58708
|
this._buffer = e3, this.type = t3;
|
|
@@ -58541,7 +58730,7 @@ var require_xterm_headless = __commonJS({
|
|
|
58541
58730
|
if (t3) return new i2.BufferLineApiView(t3);
|
|
58542
58731
|
}
|
|
58543
58732
|
getNullCell() {
|
|
58544
|
-
return new
|
|
58733
|
+
return new r3.CellData();
|
|
58545
58734
|
}
|
|
58546
58735
|
};
|
|
58547
58736
|
}, 793: (e2, t2, s2) => {
|
|
@@ -58566,8 +58755,8 @@ var require_xterm_headless = __commonJS({
|
|
|
58566
58755
|
};
|
|
58567
58756
|
}, 5101: (e2, t2, s2) => {
|
|
58568
58757
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.BufferNamespaceApi = void 0;
|
|
58569
|
-
const i2 = s2(3235),
|
|
58570
|
-
class o extends
|
|
58758
|
+
const i2 = s2(3235), r3 = s2(7150), n2 = s2(802);
|
|
58759
|
+
class o extends r3.Disposable {
|
|
58571
58760
|
constructor(e3) {
|
|
58572
58761
|
super(), this._core = e3, this._onBufferChange = this._register(new n2.Emitter()), this.onBufferChange = this._onBufferChange.event, this._normal = new i2.BufferApiView(this._core.buffers.normal, "normal"), this._alternate = new i2.BufferApiView(this._core.buffers.alt, "alternate"), this._core.buffers.onBufferActivate((() => this._onBufferChange.fire(this.active)));
|
|
58573
58762
|
}
|
|
@@ -58634,11 +58823,11 @@ var require_xterm_headless = __commonJS({
|
|
|
58634
58823
|
};
|
|
58635
58824
|
}, 9640: function(e2, t2, s2) {
|
|
58636
58825
|
var i2 = this && this.__decorate || function(e3, t3, s3, i3) {
|
|
58637
|
-
var
|
|
58826
|
+
var r4, n3 = arguments.length, o2 = n3 < 3 ? t3 : null === i3 ? i3 = Object.getOwnPropertyDescriptor(t3, s3) : i3;
|
|
58638
58827
|
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) o2 = Reflect.decorate(e3, t3, s3, i3);
|
|
58639
|
-
else for (var a2 = e3.length - 1; a2 >= 0; a2--) (
|
|
58828
|
+
else for (var a2 = e3.length - 1; a2 >= 0; a2--) (r4 = e3[a2]) && (o2 = (n3 < 3 ? r4(o2) : n3 > 3 ? r4(t3, s3, o2) : r4(t3, s3)) || o2);
|
|
58640
58829
|
return n3 > 3 && o2 && Object.defineProperty(t3, s3, o2), o2;
|
|
58641
|
-
},
|
|
58830
|
+
}, r3 = this && this.__param || function(e3, t3) {
|
|
58642
58831
|
return function(s3, i3) {
|
|
58643
58832
|
t3(s3, i3, e3);
|
|
58644
58833
|
};
|
|
@@ -58666,13 +58855,13 @@ var require_xterm_headless = __commonJS({
|
|
|
58666
58855
|
const s3 = this.buffer;
|
|
58667
58856
|
let i3;
|
|
58668
58857
|
i3 = this._cachedBlankLine, i3 && i3.length === this.cols && i3.getFg(0) === e3.fg && i3.getBg(0) === e3.bg || (i3 = s3.getBlankLine(e3, t3), this._cachedBlankLine = i3), i3.isWrapped = t3;
|
|
58669
|
-
const
|
|
58858
|
+
const r4 = s3.ybase + s3.scrollTop, n3 = s3.ybase + s3.scrollBottom;
|
|
58670
58859
|
if (0 === s3.scrollTop) {
|
|
58671
58860
|
const e4 = s3.lines.isFull;
|
|
58672
58861
|
n3 === s3.lines.length - 1 ? e4 ? s3.lines.recycle().copyFrom(i3) : s3.lines.push(i3.clone()) : s3.lines.splice(n3 + 1, 0, i3.clone()), e4 ? this.isUserScrolling && (s3.ydisp = Math.max(s3.ydisp - 1, 0)) : (s3.ybase++, this.isUserScrolling || s3.ydisp++);
|
|
58673
58862
|
} else {
|
|
58674
|
-
const e4 = n3 -
|
|
58675
|
-
s3.lines.shiftElements(
|
|
58863
|
+
const e4 = n3 - r4 + 1;
|
|
58864
|
+
s3.lines.shiftElements(r4 + 1, e4 - 1, -1), s3.lines.set(n3, i3.clone());
|
|
58676
58865
|
}
|
|
58677
58866
|
this.isUserScrolling || (s3.ydisp = s3.ybase), this._onScroll.fire(s3.ydisp);
|
|
58678
58867
|
}
|
|
@@ -58686,7 +58875,7 @@ var require_xterm_headless = __commonJS({
|
|
|
58686
58875
|
s3.ydisp = Math.max(Math.min(s3.ydisp + e3, s3.ybase), 0), i3 !== s3.ydisp && (t3 || this._onScroll.fire(s3.ydisp));
|
|
58687
58876
|
}
|
|
58688
58877
|
};
|
|
58689
|
-
t2.BufferService = c, t2.BufferService = c = i2([
|
|
58878
|
+
t2.BufferService = c, t2.BufferService = c = i2([r3(0, a.IOptionsService)], c);
|
|
58690
58879
|
}, 5746: (e2, t2) => {
|
|
58691
58880
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.CharsetService = void 0, t2.CharsetService = class {
|
|
58692
58881
|
constructor() {
|
|
@@ -58704,11 +58893,11 @@ var require_xterm_headless = __commonJS({
|
|
|
58704
58893
|
};
|
|
58705
58894
|
}, 7792: function(e2, t2, s2) {
|
|
58706
58895
|
var i2 = this && this.__decorate || function(e3, t3, s3, i3) {
|
|
58707
|
-
var
|
|
58896
|
+
var r4, n3 = arguments.length, o2 = n3 < 3 ? t3 : null === i3 ? i3 = Object.getOwnPropertyDescriptor(t3, s3) : i3;
|
|
58708
58897
|
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) o2 = Reflect.decorate(e3, t3, s3, i3);
|
|
58709
|
-
else for (var a2 = e3.length - 1; a2 >= 0; a2--) (
|
|
58898
|
+
else for (var a2 = e3.length - 1; a2 >= 0; a2--) (r4 = e3[a2]) && (o2 = (n3 < 3 ? r4(o2) : n3 > 3 ? r4(t3, s3, o2) : r4(t3, s3)) || o2);
|
|
58710
58899
|
return n3 > 3 && o2 && Object.defineProperty(t3, s3, o2), o2;
|
|
58711
|
-
},
|
|
58900
|
+
}, r3 = this && this.__param || function(e3, t3) {
|
|
58712
58901
|
return function(s3, i3) {
|
|
58713
58902
|
t3(s3, i3, e3);
|
|
58714
58903
|
};
|
|
@@ -58766,8 +58955,8 @@ var require_xterm_headless = __commonJS({
|
|
|
58766
58955
|
if (0 === e3.deltaY || e3.shiftKey) return 0;
|
|
58767
58956
|
if (void 0 === t3 || void 0 === s3) return 0;
|
|
58768
58957
|
const i3 = t3 / s3;
|
|
58769
|
-
let
|
|
58770
|
-
return e3.deltaMode === WheelEvent.DOM_DELTA_PIXEL ? (
|
|
58958
|
+
let r4 = this._applyScrollModifier(e3.deltaY, e3);
|
|
58959
|
+
return e3.deltaMode === WheelEvent.DOM_DELTA_PIXEL ? (r4 /= i3 + 0, Math.abs(e3.deltaY) < 50 && (r4 *= 0.3), this._wheelPartialScroll += r4, r4 = Math.floor(Math.abs(this._wheelPartialScroll)) * (this._wheelPartialScroll > 0 ? 1 : -1), this._wheelPartialScroll %= 1) : e3.deltaMode === WheelEvent.DOM_DELTA_PAGE && (r4 *= this._bufferService.rows), r4;
|
|
58771
58960
|
}
|
|
58772
58961
|
_applyScrollModifier(e3, t3) {
|
|
58773
58962
|
return t3.altKey || t3.ctrlKey || t3.shiftKey ? e3 * this._optionsService.rawOptions.fastScrollSensitivity * this._optionsService.rawOptions.scrollSensitivity : e3 * this._optionsService.rawOptions.scrollSensitivity;
|
|
@@ -58796,14 +58985,14 @@ var require_xterm_headless = __commonJS({
|
|
|
58796
58985
|
return e3.button === t3.button && e3.action === t3.action && e3.ctrl === t3.ctrl && e3.alt === t3.alt && e3.shift === t3.shift;
|
|
58797
58986
|
}
|
|
58798
58987
|
};
|
|
58799
|
-
t2.CoreMouseService = d, t2.CoreMouseService = d = i2([
|
|
58988
|
+
t2.CoreMouseService = d, t2.CoreMouseService = d = i2([r3(0, n2.IBufferService), r3(1, n2.ICoreService), r3(2, n2.IOptionsService)], d);
|
|
58800
58989
|
}, 4071: function(e2, t2, s2) {
|
|
58801
58990
|
var i2 = this && this.__decorate || function(e3, t3, s3, i3) {
|
|
58802
|
-
var
|
|
58991
|
+
var r4, n3 = arguments.length, o2 = n3 < 3 ? t3 : null === i3 ? i3 = Object.getOwnPropertyDescriptor(t3, s3) : i3;
|
|
58803
58992
|
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) o2 = Reflect.decorate(e3, t3, s3, i3);
|
|
58804
|
-
else for (var a2 = e3.length - 1; a2 >= 0; a2--) (
|
|
58993
|
+
else for (var a2 = e3.length - 1; a2 >= 0; a2--) (r4 = e3[a2]) && (o2 = (n3 < 3 ? r4(o2) : n3 > 3 ? r4(t3, s3, o2) : r4(t3, s3)) || o2);
|
|
58805
58994
|
return n3 > 3 && o2 && Object.defineProperty(t3, s3, o2), o2;
|
|
58806
|
-
},
|
|
58995
|
+
}, r3 = this && this.__param || function(e3, t3) {
|
|
58807
58996
|
return function(s3, i3) {
|
|
58808
58997
|
t3(s3, i3, e3);
|
|
58809
58998
|
};
|
|
@@ -58826,10 +59015,10 @@ var require_xterm_headless = __commonJS({
|
|
|
58826
59015
|
this._optionsService.rawOptions.disableStdin || (this._logService.debug(`sending binary "${e3}"`), this._logService.trace("sending binary (codes)", (() => e3.split("").map(((e4) => e4.charCodeAt(0))))), this._onBinary.fire(e3));
|
|
58827
59016
|
}
|
|
58828
59017
|
};
|
|
58829
|
-
t2.CoreService = u, t2.CoreService = u = i2([
|
|
59018
|
+
t2.CoreService = u, t2.CoreService = u = i2([r3(0, a.IBufferService), r3(1, a.ILogService), r3(2, a.IOptionsService)], u);
|
|
58830
59019
|
}, 6025: (e2, t2, s2) => {
|
|
58831
59020
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.InstantiationService = t2.ServiceCollection = void 0;
|
|
58832
|
-
const i2 = s2(6501),
|
|
59021
|
+
const i2 = s2(6501), r3 = s2(6201);
|
|
58833
59022
|
class n2 {
|
|
58834
59023
|
constructor(...e3) {
|
|
58835
59024
|
this._entries = /* @__PURE__ */ new Map();
|
|
@@ -58860,7 +59049,7 @@ var require_xterm_headless = __commonJS({
|
|
|
58860
59049
|
return this._services.get(e3);
|
|
58861
59050
|
}
|
|
58862
59051
|
createInstance(e3, ...t3) {
|
|
58863
|
-
const s3 = (0,
|
|
59052
|
+
const s3 = (0, r3.getServiceDependencies)(e3).sort(((e4, t4) => e4.index - t4.index)), i3 = [];
|
|
58864
59053
|
for (const t4 of s3) {
|
|
58865
59054
|
const s4 = this._services.get(t4.id);
|
|
58866
59055
|
if (!s4) throw new Error(`[createInstance] ${e3.name} depends on UNKNOWN service ${t4.id._id}.`);
|
|
@@ -58873,11 +59062,11 @@ var require_xterm_headless = __commonJS({
|
|
|
58873
59062
|
};
|
|
58874
59063
|
}, 7276: function(e2, t2, s2) {
|
|
58875
59064
|
var i2 = this && this.__decorate || function(e3, t3, s3, i3) {
|
|
58876
|
-
var
|
|
59065
|
+
var r4, n3 = arguments.length, o2 = n3 < 3 ? t3 : null === i3 ? i3 = Object.getOwnPropertyDescriptor(t3, s3) : i3;
|
|
58877
59066
|
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) o2 = Reflect.decorate(e3, t3, s3, i3);
|
|
58878
|
-
else for (var a2 = e3.length - 1; a2 >= 0; a2--) (
|
|
59067
|
+
else for (var a2 = e3.length - 1; a2 >= 0; a2--) (r4 = e3[a2]) && (o2 = (n3 < 3 ? r4(o2) : n3 > 3 ? r4(t3, s3, o2) : r4(t3, s3)) || o2);
|
|
58879
59068
|
return n3 > 3 && o2 && Object.defineProperty(t3, s3, o2), o2;
|
|
58880
|
-
},
|
|
59069
|
+
}, r3 = this && this.__param || function(e3, t3) {
|
|
58881
59070
|
return function(s3, i3) {
|
|
58882
59071
|
t3(s3, i3, e3);
|
|
58883
59072
|
};
|
|
@@ -58927,11 +59116,11 @@ var require_xterm_headless = __commonJS({
|
|
|
58927
59116
|
this._logLevel <= o.LogLevelEnum.ERROR && this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger) ?? console.error, e3, t3);
|
|
58928
59117
|
}
|
|
58929
59118
|
};
|
|
58930
|
-
t2.LogService = c, t2.LogService = c = i2([
|
|
59119
|
+
t2.LogService = c, t2.LogService = c = i2([r3(0, o.IOptionsService)], c);
|
|
58931
59120
|
}, 56: (e2, t2, s2) => {
|
|
58932
59121
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.OptionsService = t2.DEFAULT_OPTIONS = void 0;
|
|
58933
|
-
const i2 = s2(7150),
|
|
58934
|
-
t2.DEFAULT_OPTIONS = { cols: 80, rows: 24, cursorBlink: false, cursorStyle: "block", cursorWidth: 1, cursorInactiveStyle: "outline", customGlyphs: true, drawBoldTextInBrightColors: true, documentOverride: null, fastScrollModifier: "alt", fastScrollSensitivity: 5, fontFamily: "monospace", fontSize: 15, fontWeight: "normal", fontWeightBold: "bold", ignoreBracketedPasteMode: false, lineHeight: 1, letterSpacing: 0, linkHandler: null, logLevel: "info", logger: null, scrollback: 1e3, scrollOnEraseInDisplay: false, scrollOnUserInput: true, scrollSensitivity: 1, screenReaderMode: false, smoothScrollDuration: 0, macOptionIsMeta: false, macOptionClickForcesSelection: false, minimumContrastRatio: 1, disableStdin: false, allowProposedApi: false, allowTransparency: false, tabStopWidth: 8, theme: {}, reflowCursorLine: false, rescaleOverlappingGlyphs: false, rightClickSelectsWord:
|
|
59122
|
+
const i2 = s2(7150), r3 = s2(701), n2 = s2(802);
|
|
59123
|
+
t2.DEFAULT_OPTIONS = { cols: 80, rows: 24, cursorBlink: false, cursorStyle: "block", cursorWidth: 1, cursorInactiveStyle: "outline", customGlyphs: true, drawBoldTextInBrightColors: true, documentOverride: null, fastScrollModifier: "alt", fastScrollSensitivity: 5, fontFamily: "monospace", fontSize: 15, fontWeight: "normal", fontWeightBold: "bold", ignoreBracketedPasteMode: false, lineHeight: 1, letterSpacing: 0, linkHandler: null, logLevel: "info", logger: null, scrollback: 1e3, scrollOnEraseInDisplay: false, scrollOnUserInput: true, scrollSensitivity: 1, screenReaderMode: false, smoothScrollDuration: 0, macOptionIsMeta: false, macOptionClickForcesSelection: false, minimumContrastRatio: 1, disableStdin: false, allowProposedApi: false, allowTransparency: false, tabStopWidth: 8, theme: {}, reflowCursorLine: false, rescaleOverlappingGlyphs: false, rightClickSelectsWord: r3.isMac, windowOptions: {}, windowsMode: false, windowsPty: {}, wordSeparator: " ()[]{}',\"`", altClickMovesCursor: true, convertEol: false, termName: "xterm", cancelEvents: false, overviewRuler: {} };
|
|
58935
59124
|
const o = ["normal", "bold", "100", "200", "300", "400", "500", "600", "700", "800", "900"];
|
|
58936
59125
|
class a extends i2.Disposable {
|
|
58937
59126
|
constructor(e3) {
|
|
@@ -59014,11 +59203,11 @@ var require_xterm_headless = __commonJS({
|
|
|
59014
59203
|
t2.OptionsService = a;
|
|
59015
59204
|
}, 8811: function(e2, t2, s2) {
|
|
59016
59205
|
var i2 = this && this.__decorate || function(e3, t3, s3, i3) {
|
|
59017
|
-
var
|
|
59206
|
+
var r4, n3 = arguments.length, o2 = n3 < 3 ? t3 : null === i3 ? i3 = Object.getOwnPropertyDescriptor(t3, s3) : i3;
|
|
59018
59207
|
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) o2 = Reflect.decorate(e3, t3, s3, i3);
|
|
59019
|
-
else for (var a = e3.length - 1; a >= 0; a--) (
|
|
59208
|
+
else for (var a = e3.length - 1; a >= 0; a--) (r4 = e3[a]) && (o2 = (n3 < 3 ? r4(o2) : n3 > 3 ? r4(t3, s3, o2) : r4(t3, s3)) || o2);
|
|
59020
59209
|
return n3 > 3 && o2 && Object.defineProperty(t3, s3, o2), o2;
|
|
59021
|
-
},
|
|
59210
|
+
}, r3 = this && this.__param || function(e3, t3) {
|
|
59022
59211
|
return function(s3, i3) {
|
|
59023
59212
|
t3(s3, i3, e3);
|
|
59024
59213
|
};
|
|
@@ -59035,8 +59224,8 @@ var require_xterm_headless = __commonJS({
|
|
|
59035
59224
|
const s4 = t3.addMarker(t3.ybase + t3.y), i4 = { data: e3, id: this._nextId++, lines: [s4] };
|
|
59036
59225
|
return s4.onDispose((() => this._removeMarkerFromLink(i4, s4))), this._dataByLinkId.set(i4.id, i4), i4.id;
|
|
59037
59226
|
}
|
|
59038
|
-
const s3 = e3, i3 = this._getEntryIdKey(s3),
|
|
59039
|
-
if (
|
|
59227
|
+
const s3 = e3, i3 = this._getEntryIdKey(s3), r4 = this._entriesWithId.get(i3);
|
|
59228
|
+
if (r4) return this.addLineToLink(r4.id, t3.ybase + t3.y), r4.id;
|
|
59040
59229
|
const n3 = t3.addMarker(t3.ybase + t3.y), o2 = { id: this._nextId++, key: this._getEntryIdKey(s3), data: s3, lines: [n3] };
|
|
59041
59230
|
return n3.onDispose((() => this._removeMarkerFromLink(o2, n3))), this._entriesWithId.set(o2.key, o2), this._dataByLinkId.set(o2.id, o2), o2.id;
|
|
59042
59231
|
}
|
|
@@ -59058,32 +59247,32 @@ var require_xterm_headless = __commonJS({
|
|
|
59058
59247
|
-1 !== s3 && (e3.lines.splice(s3, 1), 0 === e3.lines.length && (void 0 !== e3.data.id && this._entriesWithId.delete(e3.key), this._dataByLinkId.delete(e3.id)));
|
|
59059
59248
|
}
|
|
59060
59249
|
};
|
|
59061
|
-
t2.OscLinkService = o, t2.OscLinkService = o = i2([
|
|
59250
|
+
t2.OscLinkService = o, t2.OscLinkService = o = i2([r3(0, n2.IBufferService)], o);
|
|
59062
59251
|
}, 6201: (e2, t2) => {
|
|
59063
59252
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.serviceRegistry = void 0, t2.getServiceDependencies = function(e3) {
|
|
59064
59253
|
return e3[i2] || [];
|
|
59065
59254
|
}, t2.createDecorator = function(e3) {
|
|
59066
59255
|
if (t2.serviceRegistry.has(e3)) return t2.serviceRegistry.get(e3);
|
|
59067
|
-
const
|
|
59256
|
+
const r3 = function(e4, t3, n2) {
|
|
59068
59257
|
if (3 !== arguments.length) throw new Error("@IServiceName-decorator can only be used to decorate a parameter");
|
|
59069
|
-
!(function(e5, t4,
|
|
59070
|
-
t4[s2] === t4 ? t4[i2].push({ id: e5, index:
|
|
59071
|
-
})(
|
|
59258
|
+
!(function(e5, t4, r4) {
|
|
59259
|
+
t4[s2] === t4 ? t4[i2].push({ id: e5, index: r4 }) : (t4[i2] = [{ id: e5, index: r4 }], t4[s2] = t4);
|
|
59260
|
+
})(r3, e4, n2);
|
|
59072
59261
|
};
|
|
59073
|
-
return
|
|
59262
|
+
return r3._id = e3, t2.serviceRegistry.set(e3, r3), r3;
|
|
59074
59263
|
};
|
|
59075
59264
|
const s2 = "di$target", i2 = "di$dependencies";
|
|
59076
59265
|
t2.serviceRegistry = /* @__PURE__ */ new Map();
|
|
59077
59266
|
}, 6501: (e2, t2, s2) => {
|
|
59078
59267
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.IDecorationService = t2.IUnicodeService = t2.IOscLinkService = t2.IOptionsService = t2.ILogService = t2.LogLevelEnum = t2.IInstantiationService = t2.ICharsetService = t2.ICoreService = t2.ICoreMouseService = t2.IBufferService = void 0;
|
|
59079
59268
|
const i2 = s2(6201);
|
|
59080
|
-
var
|
|
59269
|
+
var r3;
|
|
59081
59270
|
t2.IBufferService = (0, i2.createDecorator)("BufferService"), t2.ICoreMouseService = (0, i2.createDecorator)("CoreMouseService"), t2.ICoreService = (0, i2.createDecorator)("CoreService"), t2.ICharsetService = (0, i2.createDecorator)("CharsetService"), t2.IInstantiationService = (0, i2.createDecorator)("InstantiationService"), (function(e3) {
|
|
59082
59271
|
e3[e3.TRACE = 0] = "TRACE", e3[e3.DEBUG = 1] = "DEBUG", e3[e3.INFO = 2] = "INFO", e3[e3.WARN = 3] = "WARN", e3[e3.ERROR = 4] = "ERROR", e3[e3.OFF = 5] = "OFF";
|
|
59083
|
-
})(
|
|
59272
|
+
})(r3 || (t2.LogLevelEnum = r3 = {})), t2.ILogService = (0, i2.createDecorator)("LogService"), t2.IOptionsService = (0, i2.createDecorator)("OptionsService"), t2.IOscLinkService = (0, i2.createDecorator)("OscLinkService"), t2.IUnicodeService = (0, i2.createDecorator)("UnicodeService"), t2.IDecorationService = (0, i2.createDecorator)("DecorationService");
|
|
59084
59273
|
}, 6415: (e2, t2, s2) => {
|
|
59085
59274
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.UnicodeService = void 0;
|
|
59086
|
-
const i2 = s2(7428),
|
|
59275
|
+
const i2 = s2(7428), r3 = s2(802);
|
|
59087
59276
|
class n2 {
|
|
59088
59277
|
static extractShouldJoin(e3) {
|
|
59089
59278
|
return !!(1 & e3);
|
|
@@ -59098,7 +59287,7 @@ var require_xterm_headless = __commonJS({
|
|
|
59098
59287
|
return (16777215 & e3) << 3 | (3 & t3) << 1 | (s3 ? 1 : 0);
|
|
59099
59288
|
}
|
|
59100
59289
|
constructor() {
|
|
59101
|
-
this._providers = /* @__PURE__ */ Object.create(null), this._active = "", this._onChange = new
|
|
59290
|
+
this._providers = /* @__PURE__ */ Object.create(null), this._active = "", this._onChange = new r3.Emitter(), this.onChange = this._onChange.event;
|
|
59102
59291
|
const e3 = new i2.UnicodeV6();
|
|
59103
59292
|
this.register(e3), this._active = e3.version, this._activeProvider = e3;
|
|
59104
59293
|
}
|
|
@@ -59124,11 +59313,11 @@ var require_xterm_headless = __commonJS({
|
|
|
59124
59313
|
getStringCellWidth(e3) {
|
|
59125
59314
|
let t3 = 0, s3 = 0;
|
|
59126
59315
|
const i3 = e3.length;
|
|
59127
|
-
for (let
|
|
59128
|
-
let o = e3.charCodeAt(
|
|
59316
|
+
for (let r4 = 0; r4 < i3; ++r4) {
|
|
59317
|
+
let o = e3.charCodeAt(r4);
|
|
59129
59318
|
if (55296 <= o && o <= 56319) {
|
|
59130
|
-
if (++
|
|
59131
|
-
const s4 = e3.charCodeAt(
|
|
59319
|
+
if (++r4 >= i3) return t3 + this.wcwidth(o);
|
|
59320
|
+
const s4 = e3.charCodeAt(r4);
|
|
59132
59321
|
56320 <= s4 && s4 <= 57343 ? o = 1024 * (o - 55296) + s4 - 56320 + 65536 : t3 += this.wcwidth(s4);
|
|
59133
59322
|
}
|
|
59134
59323
|
const a = this.charProperties(o, s3);
|
|
@@ -59144,8 +59333,8 @@ var require_xterm_headless = __commonJS({
|
|
|
59144
59333
|
t2.UnicodeService = n2;
|
|
59145
59334
|
}, 5856: (e2, t2, s2) => {
|
|
59146
59335
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.Terminal = void 0;
|
|
59147
|
-
const i2 = s2(6107),
|
|
59148
|
-
class o extends
|
|
59336
|
+
const i2 = s2(6107), r3 = s2(5777), n2 = s2(802);
|
|
59337
|
+
class o extends r3.CoreTerminal {
|
|
59149
59338
|
constructor(e3 = {}) {
|
|
59150
59339
|
super(e3), this._onBell = this._register(new n2.Emitter()), this.onBell = this._onBell.event, this._onCursorMove = this._register(new n2.Emitter()), this.onCursorMove = this._onCursorMove.event, this._onTitleChange = this._register(new n2.Emitter()), this.onTitleChange = this._onTitleChange.event, this._onA11yCharEmitter = this._register(new n2.Emitter()), this.onA11yChar = this._onA11yCharEmitter.event, this._onA11yTabEmitter = this._register(new n2.Emitter()), this.onA11yTab = this._onA11yTabEmitter.event, this._setup(), this._register(this._inputHandler.onRequestBell((() => this.bell()))), this._register(this._inputHandler.onRequestReset((() => this.reset()))), this._register(n2.Event.forward(this._inputHandler.onCursorMove, this._onCursorMove)), this._register(n2.Event.forward(this._inputHandler.onTitleChange, this._onTitleChange)), this._register(n2.Event.forward(this._inputHandler.onA11yChar, this._onA11yCharEmitter)), this._register(n2.Event.forward(this._inputHandler.onA11yTab, this._onA11yTabEmitter));
|
|
59151
59340
|
}
|
|
@@ -59189,7 +59378,7 @@ var require_xterm_headless = __commonJS({
|
|
|
59189
59378
|
if (e3 === t3) return true;
|
|
59190
59379
|
if (!e3 || !t3) return false;
|
|
59191
59380
|
if (e3.length !== t3.length) return false;
|
|
59192
|
-
for (let i3 = 0,
|
|
59381
|
+
for (let i3 = 0, r4 = e3.length; i3 < r4; i3++) if (!s3(e3[i3], t3[i3])) return false;
|
|
59193
59382
|
return true;
|
|
59194
59383
|
}, t2.removeFastWithoutKeepingOrder = function(e3, t3) {
|
|
59195
59384
|
const s3 = e3.length - 1;
|
|
@@ -59198,38 +59387,38 @@ var require_xterm_headless = __commonJS({
|
|
|
59198
59387
|
return n2(e3.length, ((i3) => s3(e3[i3], t3)));
|
|
59199
59388
|
}, t2.binarySearch2 = n2, t2.quickSelect = function e3(t3, s3, i3) {
|
|
59200
59389
|
if ((t3 |= 0) >= s3.length) throw new TypeError("invalid index");
|
|
59201
|
-
const
|
|
59390
|
+
const r4 = s3[Math.floor(s3.length * Math.random())], n3 = [], o2 = [], a2 = [];
|
|
59202
59391
|
for (const e4 of s3) {
|
|
59203
|
-
const t4 = i3(e4,
|
|
59392
|
+
const t4 = i3(e4, r4);
|
|
59204
59393
|
t4 < 0 ? n3.push(e4) : t4 > 0 ? o2.push(e4) : a2.push(e4);
|
|
59205
59394
|
}
|
|
59206
59395
|
return t3 < n3.length ? e3(t3, n3, i3) : t3 < n3.length + a2.length ? a2[0] : e3(t3 - (n3.length + a2.length), o2, i3);
|
|
59207
59396
|
}, t2.groupBy = function(e3, t3) {
|
|
59208
59397
|
const s3 = [];
|
|
59209
59398
|
let i3;
|
|
59210
|
-
for (const
|
|
59399
|
+
for (const r4 of e3.slice(0).sort(t3)) i3 && 0 === t3(i3[0], r4) ? i3.push(r4) : (i3 = [r4], s3.push(i3));
|
|
59211
59400
|
return s3;
|
|
59212
59401
|
}, t2.groupAdjacentBy = function* (e3, t3) {
|
|
59213
59402
|
let s3, i3;
|
|
59214
|
-
for (const
|
|
59403
|
+
for (const r4 of e3) void 0 !== i3 && t3(i3, r4) ? s3.push(r4) : (s3 && (yield s3), s3 = [r4]), i3 = r4;
|
|
59215
59404
|
s3 && (yield s3);
|
|
59216
59405
|
}, t2.forEachAdjacent = function(e3, t3) {
|
|
59217
59406
|
for (let s3 = 0; s3 <= e3.length; s3++) t3(0 === s3 ? void 0 : e3[s3 - 1], s3 === e3.length ? void 0 : e3[s3]);
|
|
59218
59407
|
}, t2.forEachWithNeighbors = function(e3, t3) {
|
|
59219
59408
|
for (let s3 = 0; s3 < e3.length; s3++) t3(0 === s3 ? void 0 : e3[s3 - 1], e3[s3], s3 + 1 === e3.length ? void 0 : e3[s3 + 1]);
|
|
59220
59409
|
}, t2.sortedDiff = o, t2.delta = function(e3, t3, s3) {
|
|
59221
|
-
const i3 = o(e3, t3, s3),
|
|
59222
|
-
for (const t4 of i3)
|
|
59223
|
-
return { removed:
|
|
59410
|
+
const i3 = o(e3, t3, s3), r4 = [], n3 = [];
|
|
59411
|
+
for (const t4 of i3) r4.push(...e3.slice(t4.start, t4.start + t4.deleteCount)), n3.push(...t4.toInsert);
|
|
59412
|
+
return { removed: r4, added: n3 };
|
|
59224
59413
|
}, t2.top = function(e3, t3, s3) {
|
|
59225
59414
|
if (0 === s3) return [];
|
|
59226
59415
|
const i3 = e3.slice(0, s3).sort(t3);
|
|
59227
59416
|
return a(e3, t3, i3, s3, e3.length), i3;
|
|
59228
|
-
}, t2.topAsync = function(e3, t3, s3,
|
|
59417
|
+
}, t2.topAsync = function(e3, t3, s3, r4, n3) {
|
|
59229
59418
|
return 0 === s3 ? Promise.resolve([]) : new Promise(((o2, h2) => {
|
|
59230
59419
|
(async () => {
|
|
59231
59420
|
const o3 = e3.length, h3 = e3.slice(0, s3).sort(t3);
|
|
59232
|
-
for (let c2 = s3, l2 = Math.min(s3 +
|
|
59421
|
+
for (let c2 = s3, l2 = Math.min(s3 + r4, o3); c2 < o3; c2 = l2, l2 = Math.min(l2 + r4, o3)) {
|
|
59233
59422
|
if (c2 > s3 && await new Promise(((e4) => setTimeout(e4))), n3 && n3.isCancellationRequested) throw new i2.CancellationError();
|
|
59234
59423
|
a(e3, t3, h3, c2, l2);
|
|
59235
59424
|
}
|
|
@@ -59266,7 +59455,7 @@ var require_xterm_headless = __commonJS({
|
|
|
59266
59455
|
return e3.length > 0 ? e3[e3.length - 1] : t3;
|
|
59267
59456
|
}, t2.commonPrefixLength = function(e3, t3, s3 = (e4, t4) => e4 === t4) {
|
|
59268
59457
|
let i3 = 0;
|
|
59269
|
-
for (let
|
|
59458
|
+
for (let r4 = 0, n3 = Math.min(e3.length, t3.length); r4 < n3 && s3(e3[r4], t3[r4]); r4++) i3++;
|
|
59270
59459
|
return i3;
|
|
59271
59460
|
}, t2.range = function(e3, t3) {
|
|
59272
59461
|
let s3 = "number" == typeof t3 ? e3 : 0;
|
|
@@ -59280,8 +59469,8 @@ var require_xterm_headless = __commonJS({
|
|
|
59280
59469
|
}, t2.insert = function(e3, t3) {
|
|
59281
59470
|
return e3.push(t3), () => h(e3, t3);
|
|
59282
59471
|
}, t2.remove = h, t2.arrayInsert = function(e3, t3, s3) {
|
|
59283
|
-
const i3 = e3.slice(0, t3),
|
|
59284
|
-
return i3.concat(s3,
|
|
59472
|
+
const i3 = e3.slice(0, t3), r4 = e3.slice(t3);
|
|
59473
|
+
return i3.concat(s3, r4);
|
|
59285
59474
|
}, t2.shuffle = function(e3, t3) {
|
|
59286
59475
|
let s3;
|
|
59287
59476
|
if ("number" == typeof t3) {
|
|
@@ -59292,8 +59481,8 @@ var require_xterm_headless = __commonJS({
|
|
|
59292
59481
|
};
|
|
59293
59482
|
} else s3 = Math.random;
|
|
59294
59483
|
for (let t4 = e3.length - 1; t4 > 0; t4 -= 1) {
|
|
59295
|
-
const i3 = Math.floor(s3() * (t4 + 1)),
|
|
59296
|
-
e3[t4] = e3[i3], e3[i3] =
|
|
59484
|
+
const i3 = Math.floor(s3() * (t4 + 1)), r4 = e3[t4];
|
|
59485
|
+
e3[t4] = e3[i3], e3[i3] = r4;
|
|
59297
59486
|
}
|
|
59298
59487
|
}, t2.pushToStart = function(e3, t3) {
|
|
59299
59488
|
const s3 = e3.indexOf(t3);
|
|
@@ -59310,9 +59499,9 @@ var require_xterm_headless = __commonJS({
|
|
|
59310
59499
|
}, t2.getRandomElement = function(e3) {
|
|
59311
59500
|
return e3[Math.floor(Math.random() * e3.length)];
|
|
59312
59501
|
}, t2.insertInto = c, t2.splice = function(e3, t3, s3, i3) {
|
|
59313
|
-
const
|
|
59314
|
-
let n3 = e3.splice(
|
|
59315
|
-
return void 0 === n3 && (n3 = []), c(e3,
|
|
59502
|
+
const r4 = l(e3, t3);
|
|
59503
|
+
let n3 = e3.splice(r4, s3);
|
|
59504
|
+
return void 0 === n3 && (n3 = []), c(e3, r4, i3), n3;
|
|
59316
59505
|
}, t2.compareBy = function(e3, t3) {
|
|
59317
59506
|
return (s3, i3) => t3(e3(s3), e3(i3));
|
|
59318
59507
|
}, t2.tieBreakComparators = function(...e3) {
|
|
@@ -59326,14 +59515,14 @@ var require_xterm_headless = __commonJS({
|
|
|
59326
59515
|
}, t2.reverseOrder = function(e3) {
|
|
59327
59516
|
return (t3, s3) => -e3(t3, s3);
|
|
59328
59517
|
};
|
|
59329
|
-
const i2 = s2(9807),
|
|
59518
|
+
const i2 = s2(9807), r3 = s2(8297);
|
|
59330
59519
|
function n2(e3, t3) {
|
|
59331
59520
|
let s3 = 0, i3 = e3 - 1;
|
|
59332
59521
|
for (; s3 <= i3; ) {
|
|
59333
|
-
const e4 = (s3 + i3) / 2 | 0,
|
|
59334
|
-
if (
|
|
59522
|
+
const e4 = (s3 + i3) / 2 | 0, r4 = t3(e4);
|
|
59523
|
+
if (r4 < 0) s3 = e4 + 1;
|
|
59335
59524
|
else {
|
|
59336
|
-
if (!(
|
|
59525
|
+
if (!(r4 > 0)) return e4;
|
|
59337
59526
|
i3 = e4 - 1;
|
|
59338
59527
|
}
|
|
59339
59528
|
}
|
|
@@ -59341,23 +59530,23 @@ var require_xterm_headless = __commonJS({
|
|
|
59341
59530
|
}
|
|
59342
59531
|
function o(e3, t3, s3) {
|
|
59343
59532
|
const i3 = [];
|
|
59344
|
-
function
|
|
59533
|
+
function r4(e4, t4, s4) {
|
|
59345
59534
|
if (0 === t4 && 0 === s4.length) return;
|
|
59346
|
-
const
|
|
59347
|
-
|
|
59535
|
+
const r5 = i3[i3.length - 1];
|
|
59536
|
+
r5 && r5.start + r5.deleteCount === e4 ? (r5.deleteCount += t4, r5.toInsert.push(...s4)) : i3.push({ start: e4, deleteCount: t4, toInsert: s4 });
|
|
59348
59537
|
}
|
|
59349
59538
|
let n3 = 0, o2 = 0;
|
|
59350
59539
|
for (; ; ) {
|
|
59351
59540
|
if (n3 === e3.length) {
|
|
59352
|
-
|
|
59541
|
+
r4(n3, 0, t3.slice(o2));
|
|
59353
59542
|
break;
|
|
59354
59543
|
}
|
|
59355
59544
|
if (o2 === t3.length) {
|
|
59356
|
-
|
|
59545
|
+
r4(n3, e3.length - n3, []);
|
|
59357
59546
|
break;
|
|
59358
59547
|
}
|
|
59359
59548
|
const i4 = e3[n3], a2 = t3[o2], h2 = s3(i4, a2);
|
|
59360
|
-
0 === h2 ? (n3 += 1, o2 += 1) : h2 < 0 ? (
|
|
59549
|
+
0 === h2 ? (n3 += 1, o2 += 1) : h2 < 0 ? (r4(n3, 1, []), n3 += 1) : h2 > 0 && (r4(n3, 0, [a2]), o2 += 1);
|
|
59361
59550
|
}
|
|
59362
59551
|
return i3;
|
|
59363
59552
|
}
|
|
@@ -59366,7 +59555,7 @@ var require_xterm_headless = __commonJS({
|
|
|
59366
59555
|
const n4 = e3[i3];
|
|
59367
59556
|
if (t3(n4, s3[o2 - 1]) < 0) {
|
|
59368
59557
|
s3.pop();
|
|
59369
|
-
const e4 = (0,
|
|
59558
|
+
const e4 = (0, r3.findFirstIdxMonotonousOrArrLen)(s3, ((e5) => t3(n4, e5) < 0));
|
|
59370
59559
|
s3.splice(e4, 0, n4);
|
|
59371
59560
|
}
|
|
59372
59561
|
}
|
|
@@ -59376,9 +59565,9 @@ var require_xterm_headless = __commonJS({
|
|
|
59376
59565
|
if (s3 > -1) return e3.splice(s3, 1), t3;
|
|
59377
59566
|
}
|
|
59378
59567
|
function c(e3, t3, s3) {
|
|
59379
|
-
const i3 = l(e3, t3),
|
|
59380
|
-
e3.length =
|
|
59381
|
-
for (let t4 =
|
|
59568
|
+
const i3 = l(e3, t3), r4 = e3.length, n3 = s3.length;
|
|
59569
|
+
e3.length = r4 + n3;
|
|
59570
|
+
for (let t4 = r4 - 1; t4 >= i3; t4--) e3[t4 + n3] = e3[t4];
|
|
59382
59571
|
for (let t4 = 0; t4 < n3; t4++) e3[t4 + i3] = s3[t4];
|
|
59383
59572
|
}
|
|
59384
59573
|
function l(e3, t3) {
|
|
@@ -59496,20 +59685,20 @@ var require_xterm_headless = __commonJS({
|
|
|
59496
59685
|
return -1;
|
|
59497
59686
|
}
|
|
59498
59687
|
function i2(e3, t3, s3 = 0, i3 = e3.length) {
|
|
59499
|
-
let
|
|
59500
|
-
for (;
|
|
59501
|
-
const s4 = Math.floor((
|
|
59502
|
-
t3(e3[s4]) ?
|
|
59688
|
+
let r4 = s3, n3 = i3;
|
|
59689
|
+
for (; r4 < n3; ) {
|
|
59690
|
+
const s4 = Math.floor((r4 + n3) / 2);
|
|
59691
|
+
t3(e3[s4]) ? r4 = s4 + 1 : n3 = s4;
|
|
59503
59692
|
}
|
|
59504
|
-
return
|
|
59693
|
+
return r4 - 1;
|
|
59505
59694
|
}
|
|
59506
|
-
function
|
|
59507
|
-
let
|
|
59508
|
-
for (;
|
|
59509
|
-
const s4 = Math.floor((
|
|
59510
|
-
t3(e3[s4]) ? n3 = s4 :
|
|
59695
|
+
function r3(e3, t3, s3 = 0, i3 = e3.length) {
|
|
59696
|
+
let r4 = s3, n3 = i3;
|
|
59697
|
+
for (; r4 < n3; ) {
|
|
59698
|
+
const s4 = Math.floor((r4 + n3) / 2);
|
|
59699
|
+
t3(e3[s4]) ? n3 = s4 : r4 = s4 + 1;
|
|
59511
59700
|
}
|
|
59512
|
-
return
|
|
59701
|
+
return r4;
|
|
59513
59702
|
}
|
|
59514
59703
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.MonotonousArray = void 0, t2.findLast = function(e3, t3) {
|
|
59515
59704
|
const i3 = s2(e3, t3);
|
|
@@ -59518,17 +59707,17 @@ var require_xterm_headless = __commonJS({
|
|
|
59518
59707
|
const s3 = i2(e3, t3);
|
|
59519
59708
|
return -1 === s3 ? void 0 : e3[s3];
|
|
59520
59709
|
}, t2.findLastIdxMonotonous = i2, t2.findFirstMonotonous = function(e3, t3) {
|
|
59521
|
-
const s3 =
|
|
59710
|
+
const s3 = r3(e3, t3);
|
|
59522
59711
|
return s3 === e3.length ? void 0 : e3[s3];
|
|
59523
|
-
}, t2.findFirstIdxMonotonousOrArrLen =
|
|
59524
|
-
const n3 =
|
|
59712
|
+
}, t2.findFirstIdxMonotonousOrArrLen = r3, t2.findFirstIdxMonotonous = function(e3, t3, s3 = 0, i3 = e3.length) {
|
|
59713
|
+
const n3 = r3(e3, t3, s3, i3);
|
|
59525
59714
|
return n3 === e3.length ? -1 : n3;
|
|
59526
59715
|
}, t2.findFirstMax = o, t2.findLastMax = function(e3, t3) {
|
|
59527
59716
|
if (0 === e3.length) return;
|
|
59528
59717
|
let s3 = e3[0];
|
|
59529
59718
|
for (let i3 = 1; i3 < e3.length; i3++) {
|
|
59530
|
-
const
|
|
59531
|
-
t3(
|
|
59719
|
+
const r4 = e3[i3];
|
|
59720
|
+
t3(r4, s3) >= 0 && (s3 = r4);
|
|
59532
59721
|
}
|
|
59533
59722
|
return s3;
|
|
59534
59723
|
}, t2.findFirstMin = function(e3, t3) {
|
|
@@ -59566,8 +59755,8 @@ var require_xterm_headless = __commonJS({
|
|
|
59566
59755
|
if (0 === e3.length) return;
|
|
59567
59756
|
let s3 = e3[0];
|
|
59568
59757
|
for (let i3 = 1; i3 < e3.length; i3++) {
|
|
59569
|
-
const
|
|
59570
|
-
t3(
|
|
59758
|
+
const r4 = e3[i3];
|
|
59759
|
+
t3(r4, s3) > 0 && (s3 = r4);
|
|
59571
59760
|
}
|
|
59572
59761
|
return s3;
|
|
59573
59762
|
}
|
|
@@ -59578,8 +59767,8 @@ var require_xterm_headless = __commonJS({
|
|
|
59578
59767
|
const s3 = /* @__PURE__ */ Object.create(null);
|
|
59579
59768
|
for (const i3 of e3) {
|
|
59580
59769
|
const e4 = t3(i3);
|
|
59581
|
-
let
|
|
59582
|
-
|
|
59770
|
+
let r3 = s3[e4];
|
|
59771
|
+
r3 || (r3 = s3[e4] = []), r3.push(i3);
|
|
59583
59772
|
}
|
|
59584
59773
|
return s3;
|
|
59585
59774
|
}, t2.diffSets = function(e3, t3) {
|
|
@@ -59589,8 +59778,8 @@ var require_xterm_headless = __commonJS({
|
|
|
59589
59778
|
return { removed: s3, added: i3 };
|
|
59590
59779
|
}, t2.diffMaps = function(e3, t3) {
|
|
59591
59780
|
const s3 = [], i3 = [];
|
|
59592
|
-
for (const [i4,
|
|
59593
|
-
for (const [s4,
|
|
59781
|
+
for (const [i4, r3] of e3) t3.has(i4) || s3.push(r3);
|
|
59782
|
+
for (const [s4, r3] of t3) e3.has(s4) || i3.push(r3);
|
|
59594
59783
|
return { removed: s3, added: i3 };
|
|
59595
59784
|
}, t2.intersection = function(e3, t3) {
|
|
59596
59785
|
const s3 = /* @__PURE__ */ new Set();
|
|
@@ -59646,9 +59835,9 @@ var require_xterm_headless = __commonJS({
|
|
|
59646
59835
|
const t3 = e3;
|
|
59647
59836
|
return "EPIPE" === t3.code && "WRITE" === t3.syscall?.toUpperCase();
|
|
59648
59837
|
}, t2.onUnexpectedError = function(e3) {
|
|
59649
|
-
|
|
59838
|
+
r3(e3) || t2.errorHandler.onUnexpectedError(e3);
|
|
59650
59839
|
}, t2.onUnexpectedExternalError = function(e3) {
|
|
59651
|
-
|
|
59840
|
+
r3(e3) || t2.errorHandler.onUnexpectedExternalError(e3);
|
|
59652
59841
|
}, t2.transformErrorForSerialization = function(e3) {
|
|
59653
59842
|
if (e3 instanceof Error) {
|
|
59654
59843
|
const { name: t3, message: s3 } = e3;
|
|
@@ -59658,7 +59847,7 @@ var require_xterm_headless = __commonJS({
|
|
|
59658
59847
|
}, t2.transformErrorFromSerialization = function(e3) {
|
|
59659
59848
|
let t3;
|
|
59660
59849
|
return e3.noTelemetry ? t3 = new l() : (t3 = new Error(), t3.name = e3.name), t3.message = e3.message, t3.stack = e3.stack, t3;
|
|
59661
|
-
}, t2.isCancellationError =
|
|
59850
|
+
}, t2.isCancellationError = r3, t2.canceled = function() {
|
|
59662
59851
|
const e3 = new Error(i2);
|
|
59663
59852
|
return e3.name = e3.message, e3;
|
|
59664
59853
|
}, t2.illegalArgument = function(e3) {
|
|
@@ -59708,7 +59897,7 @@ var require_xterm_headless = __commonJS({
|
|
|
59708
59897
|
}
|
|
59709
59898
|
t2.ErrorHandler = s2, t2.errorHandler = new s2();
|
|
59710
59899
|
const i2 = "Canceled";
|
|
59711
|
-
function
|
|
59900
|
+
function r3(e3) {
|
|
59712
59901
|
return e3 instanceof n2 || e3 instanceof Error && e3.name === i2 && e3.message === i2;
|
|
59713
59902
|
}
|
|
59714
59903
|
class n2 extends Error {
|
|
@@ -59768,24 +59957,24 @@ var require_xterm_headless = __commonJS({
|
|
|
59768
59957
|
l = t3;
|
|
59769
59958
|
} };
|
|
59770
59959
|
};
|
|
59771
|
-
const i2 = s2(9807),
|
|
59960
|
+
const i2 = s2(9807), r3 = s2(8841), n2 = s2(7150), o = s2(6317), a = s2(9725);
|
|
59772
59961
|
var h;
|
|
59773
59962
|
!(function(e3) {
|
|
59774
59963
|
function t3(e4) {
|
|
59775
59964
|
return (t4, s4 = null, i4) => {
|
|
59776
|
-
let
|
|
59777
|
-
return
|
|
59778
|
-
if (!n3) return
|
|
59779
|
-
}), null, i4), n3 &&
|
|
59965
|
+
let r5, n3 = false;
|
|
59966
|
+
return r5 = e4(((e5) => {
|
|
59967
|
+
if (!n3) return r5 ? r5.dispose() : n3 = true, t4.call(s4, e5);
|
|
59968
|
+
}), null, i4), n3 && r5.dispose(), r5;
|
|
59780
59969
|
};
|
|
59781
59970
|
}
|
|
59782
59971
|
function s3(e4, t4, s4) {
|
|
59783
|
-
return
|
|
59972
|
+
return r4(((s5, i4 = null, r5) => e4(((e5) => s5.call(i4, t4(e5))), null, r5)), s4);
|
|
59784
59973
|
}
|
|
59785
59974
|
function i3(e4, t4, s4) {
|
|
59786
|
-
return
|
|
59975
|
+
return r4(((s5, i4 = null, r5) => e4(((e5) => t4(e5) && s5.call(i4, e5)), null, r5)), s4);
|
|
59787
59976
|
}
|
|
59788
|
-
function
|
|
59977
|
+
function r4(e4, t4) {
|
|
59789
59978
|
let s4;
|
|
59790
59979
|
const i4 = new v({ onWillAddFirstListener() {
|
|
59791
59980
|
s4 = e4(i4.fire, i4);
|
|
@@ -59794,7 +59983,7 @@ var require_xterm_headless = __commonJS({
|
|
|
59794
59983
|
} });
|
|
59795
59984
|
return t4?.add(i4), i4.event;
|
|
59796
59985
|
}
|
|
59797
|
-
function o2(e4, t4, s4 = 100, i4 = false,
|
|
59986
|
+
function o2(e4, t4, s4 = 100, i4 = false, r5 = false, n3, o3) {
|
|
59798
59987
|
let a3, h3, c3, l2, u2 = 0;
|
|
59799
59988
|
const d2 = new v({ leakWarningThreshold: n3, onWillAddFirstListener() {
|
|
59800
59989
|
a3 = e4(((e5) => {
|
|
@@ -59804,7 +59993,7 @@ var require_xterm_headless = __commonJS({
|
|
|
59804
59993
|
}, "number" == typeof s4 ? (clearTimeout(c3), c3 = setTimeout(l2, s4)) : void 0 === c3 && (c3 = 0, queueMicrotask(l2));
|
|
59805
59994
|
}));
|
|
59806
59995
|
}, onWillRemoveListener() {
|
|
59807
|
-
|
|
59996
|
+
r5 && u2 > 0 && l2?.();
|
|
59808
59997
|
}, onDidRemoveLastListener() {
|
|
59809
59998
|
l2 = void 0, a3.dispose();
|
|
59810
59999
|
} });
|
|
@@ -59814,51 +60003,51 @@ var require_xterm_headless = __commonJS({
|
|
|
59814
60003
|
return o2(e4, (() => {
|
|
59815
60004
|
}), 0, void 0, true, void 0, t4);
|
|
59816
60005
|
}, e3.once = t3, e3.map = s3, e3.forEach = function(e4, t4, s4) {
|
|
59817
|
-
return
|
|
60006
|
+
return r4(((s5, i4 = null, r5) => e4(((e5) => {
|
|
59818
60007
|
t4(e5), s5.call(i4, e5);
|
|
59819
|
-
}), null,
|
|
60008
|
+
}), null, r5)), s4);
|
|
59820
60009
|
}, e3.filter = i3, e3.signal = function(e4) {
|
|
59821
60010
|
return e4;
|
|
59822
60011
|
}, e3.any = function(...e4) {
|
|
59823
60012
|
return (t4, s4 = null, i4) => {
|
|
59824
|
-
return
|
|
59825
|
-
var
|
|
60013
|
+
return r5 = (0, n2.combinedDisposable)(...e4.map(((e5) => e5(((e6) => t4.call(s4, e6)))))), (o3 = i4) instanceof Array ? o3.push(r5) : o3 && o3.add(r5), r5;
|
|
60014
|
+
var r5, o3;
|
|
59826
60015
|
};
|
|
59827
|
-
}, e3.reduce = function(e4, t4, i4,
|
|
60016
|
+
}, e3.reduce = function(e4, t4, i4, r5) {
|
|
59828
60017
|
let n3 = i4;
|
|
59829
|
-
return s3(e4, ((e5) => (n3 = t4(n3, e5), n3)),
|
|
60018
|
+
return s3(e4, ((e5) => (n3 = t4(n3, e5), n3)), r5);
|
|
59830
60019
|
}, e3.debounce = o2, e3.accumulate = function(t4, s4 = 0, i4) {
|
|
59831
60020
|
return e3.debounce(t4, ((e4, t5) => e4 ? (e4.push(t5), e4) : [t5]), s4, void 0, true, void 0, i4);
|
|
59832
60021
|
}, e3.latch = function(e4, t4 = (e5, t5) => e5 === t5, s4) {
|
|
59833
|
-
let
|
|
60022
|
+
let r5, n3 = true;
|
|
59834
60023
|
return i3(e4, ((e5) => {
|
|
59835
|
-
const s5 = n3 || !t4(e5,
|
|
59836
|
-
return n3 = false,
|
|
60024
|
+
const s5 = n3 || !t4(e5, r5);
|
|
60025
|
+
return n3 = false, r5 = e5, s5;
|
|
59837
60026
|
}), s4);
|
|
59838
60027
|
}, e3.split = function(t4, s4, i4) {
|
|
59839
60028
|
return [e3.filter(t4, s4, i4), e3.filter(t4, ((e4) => !s4(e4)), i4)];
|
|
59840
60029
|
}, e3.buffer = function(e4, t4 = false, s4 = [], i4) {
|
|
59841
|
-
let
|
|
59842
|
-
|
|
60030
|
+
let r5 = s4.slice(), n3 = e4(((e5) => {
|
|
60031
|
+
r5 ? r5.push(e5) : a3.fire(e5);
|
|
59843
60032
|
}));
|
|
59844
60033
|
i4 && i4.add(n3);
|
|
59845
60034
|
const o3 = () => {
|
|
59846
|
-
|
|
60035
|
+
r5?.forEach(((e5) => a3.fire(e5))), r5 = null;
|
|
59847
60036
|
}, a3 = new v({ onWillAddFirstListener() {
|
|
59848
60037
|
n3 || (n3 = e4(((e5) => a3.fire(e5))), i4 && i4.add(n3));
|
|
59849
60038
|
}, onDidAddFirstListener() {
|
|
59850
|
-
|
|
60039
|
+
r5 && (t4 ? setTimeout(o3) : o3());
|
|
59851
60040
|
}, onDidRemoveLastListener() {
|
|
59852
60041
|
n3 && n3.dispose(), n3 = null;
|
|
59853
60042
|
} });
|
|
59854
60043
|
return i4 && i4.add(a3), a3.event;
|
|
59855
60044
|
}, e3.chain = function(e4, t4) {
|
|
59856
|
-
return (s4, i4,
|
|
60045
|
+
return (s4, i4, r5) => {
|
|
59857
60046
|
const n3 = t4(new h2());
|
|
59858
60047
|
return e4((function(e5) {
|
|
59859
60048
|
const t5 = n3.evaluate(e5);
|
|
59860
60049
|
t5 !== a2 && s4.call(i4, t5);
|
|
59861
|
-
}), void 0,
|
|
60050
|
+
}), void 0, r5);
|
|
59862
60051
|
};
|
|
59863
60052
|
};
|
|
59864
60053
|
const a2 = Symbol("HaltChainable");
|
|
@@ -59882,8 +60071,8 @@ var require_xterm_headless = __commonJS({
|
|
|
59882
60071
|
latch(e4 = (e5, t4) => e5 === t4) {
|
|
59883
60072
|
let t4, s4 = true;
|
|
59884
60073
|
return this.steps.push(((i4) => {
|
|
59885
|
-
const
|
|
59886
|
-
return s4 = false, t4 = i4,
|
|
60074
|
+
const r5 = s4 || !e4(i4, t4);
|
|
60075
|
+
return s4 = false, t4 = i4, r5 ? i4 : a2;
|
|
59887
60076
|
})), this;
|
|
59888
60077
|
}
|
|
59889
60078
|
evaluate(e4) {
|
|
@@ -59892,11 +60081,11 @@ var require_xterm_headless = __commonJS({
|
|
|
59892
60081
|
}
|
|
59893
60082
|
}
|
|
59894
60083
|
e3.fromNodeEventEmitter = function(e4, t4, s4 = (e5) => e5) {
|
|
59895
|
-
const i4 = (...e5) =>
|
|
59896
|
-
return
|
|
60084
|
+
const i4 = (...e5) => r5.fire(s4(...e5)), r5 = new v({ onWillAddFirstListener: () => e4.on(t4, i4), onDidRemoveLastListener: () => e4.removeListener(t4, i4) });
|
|
60085
|
+
return r5.event;
|
|
59897
60086
|
}, e3.fromDOMEventEmitter = function(e4, t4, s4 = (e5) => e5) {
|
|
59898
|
-
const i4 = (...e5) =>
|
|
59899
|
-
return
|
|
60087
|
+
const i4 = (...e5) => r5.fire(s4(...e5)), r5 = new v({ onWillAddFirstListener: () => e4.addEventListener(t4, i4), onDidRemoveLastListener: () => e4.removeEventListener(t4, i4) });
|
|
60088
|
+
return r5.event;
|
|
59900
60089
|
}, e3.toPromise = function(e4) {
|
|
59901
60090
|
return new Promise(((s4) => t3(e4)(s4)));
|
|
59902
60091
|
}, e3.fromPromise = function(e4) {
|
|
@@ -59939,11 +60128,11 @@ var require_xterm_headless = __commonJS({
|
|
|
59939
60128
|
return new c2(e4, t4).emitter.event;
|
|
59940
60129
|
}, e3.fromObservableLight = function(e4) {
|
|
59941
60130
|
return (t4, s4, i4) => {
|
|
59942
|
-
let
|
|
60131
|
+
let r5 = 0, o3 = false;
|
|
59943
60132
|
const a3 = { beginUpdate() {
|
|
59944
|
-
|
|
60133
|
+
r5++;
|
|
59945
60134
|
}, endUpdate() {
|
|
59946
|
-
|
|
60135
|
+
r5--, 0 === r5 && (e4.reportChanges(), o3 && (o3 = false, t4.call(s4)));
|
|
59947
60136
|
}, handlePossibleChange() {
|
|
59948
60137
|
}, handleChange() {
|
|
59949
60138
|
o3 = true;
|
|
@@ -59995,9 +60184,9 @@ var require_xterm_headless = __commonJS({
|
|
|
59995
60184
|
const i3 = this._stacks.get(e3.value) || 0;
|
|
59996
60185
|
if (this._stacks.set(e3.value, i3 + 1), this._warnCountdown -= 1, this._warnCountdown <= 0) {
|
|
59997
60186
|
this._warnCountdown = 0.5 * s3;
|
|
59998
|
-
const [e4, i4] = this.getMostFrequentStack(),
|
|
59999
|
-
console.warn(
|
|
60000
|
-
const n3 = new f(
|
|
60187
|
+
const [e4, i4] = this.getMostFrequentStack(), r4 = `[${this.name}] potential listener LEAK detected, having ${t3} listeners already. MOST frequent listener (${i4}):`;
|
|
60188
|
+
console.warn(r4), console.warn(e4);
|
|
60189
|
+
const n3 = new f(r4, e4);
|
|
60001
60190
|
this._errorHandler(n3);
|
|
60002
60191
|
}
|
|
60003
60192
|
return () => {
|
|
@@ -60059,11 +60248,11 @@ var require_xterm_headless = __commonJS({
|
|
|
60059
60248
|
}
|
|
60060
60249
|
if (this._disposed) return n2.Disposable.None;
|
|
60061
60250
|
t3 && (e3 = e3.bind(t3));
|
|
60062
|
-
const
|
|
60251
|
+
const r4 = new g(e3);
|
|
60063
60252
|
let o2;
|
|
60064
|
-
this._leakageMon && this._size >= Math.ceil(0.2 * this._leakageMon.threshold) && (
|
|
60253
|
+
this._leakageMon && this._size >= Math.ceil(0.2 * this._leakageMon.threshold) && (r4.stack = d.create(), o2 = this._leakageMon.check(r4.stack, this._size + 1)), this._listeners ? this._listeners instanceof g ? (this._deliveryQueue ??= new m(), this._listeners = [this._listeners, r4]) : this._listeners.push(r4) : (this._options?.onWillAddFirstListener?.(this), this._listeners = r4, this._options?.onDidAddFirstListener?.(this)), this._size++;
|
|
60065
60254
|
const a2 = (0, n2.toDisposable)((() => {
|
|
60066
|
-
o2?.(), this._removeListener(
|
|
60255
|
+
o2?.(), this._removeListener(r4);
|
|
60067
60256
|
}));
|
|
60068
60257
|
return s3 instanceof n2.DisposableStore ? s3.add(a2) : Array.isArray(s3) && s3.push(a2), a2;
|
|
60069
60258
|
}, this._event;
|
|
@@ -60129,7 +60318,7 @@ var require_xterm_headless = __commonJS({
|
|
|
60129
60318
|
i3 && t4(i3);
|
|
60130
60319
|
}
|
|
60131
60320
|
})(this._listeners, ((t4) => this._asyncDeliveryQueue.push([t4.value, e3]))); this._asyncDeliveryQueue.size > 0 && !t3.isCancellationRequested; ) {
|
|
60132
|
-
const [e4,
|
|
60321
|
+
const [e4, r4] = this._asyncDeliveryQueue.shift(), n3 = [], o2 = { ...r4, token: t3, waitUntil: (t4) => {
|
|
60133
60322
|
if (Object.isFrozen(n3)) throw new Error("waitUntil can NOT be called asynchronous");
|
|
60134
60323
|
s3 && (t4 = s3(t4, e4)), n3.push(t4);
|
|
60135
60324
|
} };
|
|
@@ -60195,7 +60384,7 @@ var require_xterm_headless = __commonJS({
|
|
|
60195
60384
|
}
|
|
60196
60385
|
add(e3) {
|
|
60197
60386
|
const t3 = { event: e3, listener: null };
|
|
60198
|
-
return this.events.push(t3), this.hasListeners && this.hook(t3), (0, n2.toDisposable)((0,
|
|
60387
|
+
return this.events.push(t3), this.hasListeners && this.hook(t3), (0, n2.toDisposable)((0, r3.createSingleCallFunction)((() => {
|
|
60199
60388
|
this.hasListeners && this.unhook(t3);
|
|
60200
60389
|
const e4 = this.events.indexOf(t3);
|
|
60201
60390
|
this.events.splice(e4, 1);
|
|
@@ -60222,16 +60411,16 @@ var require_xterm_headless = __commonJS({
|
|
|
60222
60411
|
t2.EventMultiplexer = S, t2.DynamicListEventMultiplexer = class {
|
|
60223
60412
|
constructor(e3, t3, s3, i3) {
|
|
60224
60413
|
this._store = new n2.DisposableStore();
|
|
60225
|
-
const
|
|
60414
|
+
const r4 = this._store.add(new S()), o2 = this._store.add(new n2.DisposableMap());
|
|
60226
60415
|
function a2(e4) {
|
|
60227
|
-
o2.set(e4,
|
|
60416
|
+
o2.set(e4, r4.add(i3(e4)));
|
|
60228
60417
|
}
|
|
60229
60418
|
for (const t4 of e3) a2(t4);
|
|
60230
60419
|
this._store.add(t3(((e4) => {
|
|
60231
60420
|
a2(e4);
|
|
60232
60421
|
}))), this._store.add(s3(((e4) => {
|
|
60233
60422
|
o2.deleteAndDispose(e4);
|
|
60234
|
-
}))), this.event =
|
|
60423
|
+
}))), this.event = r4.event;
|
|
60235
60424
|
}
|
|
60236
60425
|
dispose() {
|
|
60237
60426
|
this._store.dispose();
|
|
@@ -60241,13 +60430,13 @@ var require_xterm_headless = __commonJS({
|
|
|
60241
60430
|
this.data = [];
|
|
60242
60431
|
}
|
|
60243
60432
|
wrapEvent(e3, t3, s3) {
|
|
60244
|
-
return (i3,
|
|
60433
|
+
return (i3, r4, n3) => e3(((e4) => {
|
|
60245
60434
|
const n4 = this.data[this.data.length - 1];
|
|
60246
|
-
if (!t3) return void (n4 ? n4.buffers.push((() => i3.call(
|
|
60435
|
+
if (!t3) return void (n4 ? n4.buffers.push((() => i3.call(r4, e4))) : i3.call(r4, e4));
|
|
60247
60436
|
const o2 = n4;
|
|
60248
60437
|
o2 ? (o2.items ??= [], o2.items.push(e4), 0 === o2.buffers.length && n4.buffers.push((() => {
|
|
60249
|
-
o2.reducedResult ??= s3 ? o2.items.reduce(t3, s3) : o2.items.reduce(t3), i3.call(
|
|
60250
|
-
}))) : i3.call(
|
|
60438
|
+
o2.reducedResult ??= s3 ? o2.items.reduce(t3, s3) : o2.items.reduce(t3), i3.call(r4, o2.reducedResult);
|
|
60439
|
+
}))) : i3.call(r4, t3(s3, e4));
|
|
60251
60440
|
}), void 0, n3);
|
|
60252
60441
|
}
|
|
60253
60442
|
bufferEvents(e3) {
|
|
@@ -60292,10 +60481,10 @@ var require_xterm_headless = __commonJS({
|
|
|
60292
60481
|
}, 8841: (e2, t2) => {
|
|
60293
60482
|
Object.defineProperty(t2, "__esModule", { value: true }), t2.createSingleCallFunction = function(e3, t3) {
|
|
60294
60483
|
const s2 = this;
|
|
60295
|
-
let i2,
|
|
60484
|
+
let i2, r3 = false;
|
|
60296
60485
|
return function() {
|
|
60297
|
-
if (
|
|
60298
|
-
if (
|
|
60486
|
+
if (r3) return i2;
|
|
60487
|
+
if (r3 = true, t3) try {
|
|
60299
60488
|
i2 = e3.apply(s2, arguments);
|
|
60300
60489
|
} finally {
|
|
60301
60490
|
t3();
|
|
@@ -60352,13 +60541,13 @@ var require_xterm_headless = __commonJS({
|
|
|
60352
60541
|
}, e3.consume = function(t4, s4 = Number.POSITIVE_INFINITY) {
|
|
60353
60542
|
const i3 = [];
|
|
60354
60543
|
if (0 === s4) return [i3, t4];
|
|
60355
|
-
const
|
|
60544
|
+
const r3 = t4[Symbol.iterator]();
|
|
60356
60545
|
for (let t5 = 0; t5 < s4; t5++) {
|
|
60357
|
-
const t6 =
|
|
60546
|
+
const t6 = r3.next();
|
|
60358
60547
|
if (t6.done) return [i3, e3.empty()];
|
|
60359
60548
|
i3.push(t6.value);
|
|
60360
60549
|
}
|
|
60361
|
-
return [i3, { [Symbol.iterator]: () =>
|
|
60550
|
+
return [i3, { [Symbol.iterator]: () => r3 }];
|
|
60362
60551
|
}, e3.asyncToArray = async function(e4) {
|
|
60363
60552
|
const t4 = [];
|
|
60364
60553
|
for await (const s4 of e4) t4.push(s4);
|
|
@@ -60386,7 +60575,7 @@ var require_xterm_headless = __commonJS({
|
|
|
60386
60575
|
t3.dispose();
|
|
60387
60576
|
}
|
|
60388
60577
|
};
|
|
60389
|
-
const i2 = s2(3058),
|
|
60578
|
+
const i2 = s2(3058), r3 = s2(9087), n2 = s2(2608), o = s2(8841), a = s2(4218);
|
|
60390
60579
|
let h = null;
|
|
60391
60580
|
class c {
|
|
60392
60581
|
constructor() {
|
|
@@ -60451,7 +60640,7 @@ var require_xterm_headless = __commonJS({
|
|
|
60451
60640
|
for (let t5 = 0; t5 < e4.length; t5++) {
|
|
60452
60641
|
let n3 = e4[t5];
|
|
60453
60642
|
n3 = `(shared with ${a2.get(e4.slice(0, t5 + 1).join("\n")).size}/${s3.length} leaks) at ${n3}`;
|
|
60454
|
-
const h3 = a2.get(e4.slice(0, t5).join("\n")), c3 = (0,
|
|
60643
|
+
const h3 = a2.get(e4.slice(0, t5).join("\n")), c3 = (0, r3.groupBy)([...h3].map(((e5) => o2(e5)[t5])), ((e5) => e5));
|
|
60455
60644
|
delete c3[e4[t5]];
|
|
60456
60645
|
for (const [e5, t6] of Object.entries(c3)) i3.unshift(` - stacktraces of ${t6.length} other leaks continue with ${e5}`);
|
|
60457
60646
|
i3.unshift(n3);
|
|
@@ -60622,10 +60811,10 @@ ${i3.join("\n")}
|
|
|
60622
60811
|
acquire(e3, ...t3) {
|
|
60623
60812
|
let s3 = this.references.get(e3);
|
|
60624
60813
|
s3 || (s3 = { counter: 0, object: this.createReferencedObject(e3, ...t3) }, this.references.set(e3, s3));
|
|
60625
|
-
const { object: i3 } = s3,
|
|
60814
|
+
const { object: i3 } = s3, r4 = (0, o.createSingleCallFunction)((() => {
|
|
60626
60815
|
0 == --s3.counter && (this.destroyReferencedObject(e3, s3.object), this.references.delete(e3));
|
|
60627
60816
|
}));
|
|
60628
|
-
return s3.counter++, { object: i3, dispose:
|
|
60817
|
+
return s3.counter++, { object: i3, dispose: r4 };
|
|
60629
60818
|
}
|
|
60630
60819
|
}, t2.AsyncReferenceCollection = class {
|
|
60631
60820
|
constructor(e3) {
|
|
@@ -60735,9 +60924,9 @@ ${i3.join("\n")}
|
|
|
60735
60924
|
this._first = i3, i3.next = e4, e4.prev = i3;
|
|
60736
60925
|
}
|
|
60737
60926
|
this._size += 1;
|
|
60738
|
-
let
|
|
60927
|
+
let r3 = false;
|
|
60739
60928
|
return () => {
|
|
60740
|
-
|
|
60929
|
+
r3 || (r3 = true, this._remove(i3));
|
|
60741
60930
|
};
|
|
60742
60931
|
}
|
|
60743
60932
|
shift() {
|
|
@@ -60876,8 +61065,8 @@ ${i3.join("\n")}
|
|
|
60876
61065
|
t2.StopWatch = i2;
|
|
60877
61066
|
} }, t = {};
|
|
60878
61067
|
function s(i2) {
|
|
60879
|
-
var
|
|
60880
|
-
if (void 0 !==
|
|
61068
|
+
var r3 = t[i2];
|
|
61069
|
+
if (void 0 !== r3) return r3.exports;
|
|
60881
61070
|
var n2 = t[i2] = { exports: {} };
|
|
60882
61071
|
return e[i2].call(n2.exports, n2, n2.exports, s), n2.exports;
|
|
60883
61072
|
}
|
|
@@ -60885,7 +61074,7 @@ ${i3.join("\n")}
|
|
|
60885
61074
|
(() => {
|
|
60886
61075
|
var e2 = i;
|
|
60887
61076
|
Object.defineProperty(e2, "__esModule", { value: true }), e2.Terminal = void 0;
|
|
60888
|
-
const t2 = s(5101),
|
|
61077
|
+
const t2 = s(5101), r3 = s(6097), n2 = s(4335), o = s(5856), a = s(3027), h = s(7150), c = ["cols", "rows"];
|
|
60889
61078
|
class l extends h.Disposable {
|
|
60890
61079
|
constructor(e3) {
|
|
60891
61080
|
super(), this._core = this._register(new o.Terminal(e3)), this._addonManager = this._register(new a.AddonManager()), this._publicOptions = { ...this._core.options };
|
|
@@ -60934,7 +61123,7 @@ ${i3.join("\n")}
|
|
|
60934
61123
|
return this._core.onWriteParsed;
|
|
60935
61124
|
}
|
|
60936
61125
|
get parser() {
|
|
60937
|
-
return this._checkProposedApi(), this._parser || (this._parser = new
|
|
61126
|
+
return this._checkProposedApi(), this._parser || (this._parser = new r3.ParserApi(this._core)), this._parser;
|
|
60938
61127
|
}
|
|
60939
61128
|
get unicode() {
|
|
60940
61129
|
return this._checkProposedApi(), new n2.UnicodeApi(this._core);
|
|
@@ -61026,9 +61215,9 @@ ${i3.join("\n")}
|
|
|
61026
61215
|
}
|
|
61027
61216
|
e2.Terminal = l;
|
|
61028
61217
|
})();
|
|
61029
|
-
var
|
|
61030
|
-
for (var n in i)
|
|
61031
|
-
i.__esModule && Object.defineProperty(
|
|
61218
|
+
var r2 = exports2;
|
|
61219
|
+
for (var n in i) r2[n] = i[n];
|
|
61220
|
+
i.__esModule && Object.defineProperty(r2, "__esModule", { value: true });
|
|
61032
61221
|
})();
|
|
61033
61222
|
}
|
|
61034
61223
|
});
|
|
@@ -61176,8 +61365,8 @@ async function peekExited(session) {
|
|
|
61176
61365
|
const sentinel = { exitCode: -3735928559 };
|
|
61177
61366
|
const result = await Promise.race([
|
|
61178
61367
|
session.handle.exited,
|
|
61179
|
-
new Promise((
|
|
61180
|
-
Promise.resolve().then(() =>
|
|
61368
|
+
new Promise((r2) => {
|
|
61369
|
+
Promise.resolve().then(() => r2(sentinel));
|
|
61181
61370
|
})
|
|
61182
61371
|
]);
|
|
61183
61372
|
if (result === sentinel) return null;
|
|
@@ -63073,11 +63262,11 @@ var init_build = __esm({
|
|
|
63073
63262
|
}
|
|
63074
63263
|
if (current.length > 0)
|
|
63075
63264
|
frames.push(current);
|
|
63076
|
-
const send = (
|
|
63265
|
+
const send = (frame3, frameUntrackKeys) => new Promise((resolve2, reject) => {
|
|
63077
63266
|
const req = {
|
|
63078
63267
|
channel: this.channel,
|
|
63079
63268
|
type: 1,
|
|
63080
|
-
track:
|
|
63269
|
+
track: frame3.map((b) => ({
|
|
63081
63270
|
signature: b.signature,
|
|
63082
63271
|
items: b.items.map((i) => i.version > 0 ? i : { key: i.key })
|
|
63083
63272
|
}))
|
|
@@ -63097,7 +63286,7 @@ var init_build = __esm({
|
|
|
63097
63286
|
reject(rejectCtx.error);
|
|
63098
63287
|
});
|
|
63099
63288
|
});
|
|
63100
|
-
return frames.reduce((chain,
|
|
63289
|
+
return frames.reduce((chain, frame3, idx) => chain.then(() => send(frame3, idx === 0 ? untrackKeys : void 0)), Promise.resolve());
|
|
63101
63290
|
}
|
|
63102
63291
|
_sendUntrackRequest(keys) {
|
|
63103
63292
|
return new Promise((resolve2, reject) => {
|
|
@@ -64591,7 +64780,7 @@ var init_build = __esm({
|
|
|
64591
64780
|
return commands.map((c) => JSON.stringify(c)).join("\n");
|
|
64592
64781
|
}
|
|
64593
64782
|
decodeReplies(data) {
|
|
64594
|
-
return data.trim().split("\n").map((
|
|
64783
|
+
return data.trim().split("\n").map((r2) => JSON.parse(r2));
|
|
64595
64784
|
}
|
|
64596
64785
|
applyDeltaIfNeeded(pub, prevValue) {
|
|
64597
64786
|
let newData, newPrevValue;
|
|
@@ -66944,7 +67133,7 @@ In using these tools, adhere to the following guidelines:
|
|
|
66944
67133
|
result: {
|
|
66945
67134
|
output: "",
|
|
66946
67135
|
exitCode: 1,
|
|
66947
|
-
error: "Sandbox is unavailable after repeated health check failures. Do NOT retry any terminal or sandbox commands. Inform the user that the sandbox could not be reached and suggest they wait a moment and try again, or delete the sandbox in Settings > Data Controls. If the issue persists, contact
|
|
67136
|
+
error: "Sandbox is unavailable after repeated health check failures. Do NOT retry any terminal or sandbox commands. Inform the user that the sandbox could not be reached and suggest they wait a moment and try again, or delete the sandbox in Settings > Data Controls. If the issue persists, contact clawfast support."
|
|
66948
67137
|
}
|
|
66949
67138
|
};
|
|
66950
67139
|
}
|
|
@@ -66965,7 +67154,7 @@ In using these tools, adhere to the following guidelines:
|
|
|
66965
67154
|
result: {
|
|
66966
67155
|
output: "",
|
|
66967
67156
|
exitCode: 1,
|
|
66968
|
-
error: "Sandbox is unavailable after repeated health check failures. Do NOT retry any terminal or sandbox commands. Inform the user that the sandbox could not be reached and suggest they wait a moment and try again, or delete the sandbox in Settings > Data Controls. If the issue persists, contact
|
|
67157
|
+
error: "Sandbox is unavailable after repeated health check failures. Do NOT retry any terminal or sandbox commands. Inform the user that the sandbox could not be reached and suggest they wait a moment and try again, or delete the sandbox in Settings > Data Controls. If the issue persists, contact clawfast support."
|
|
66969
67158
|
}
|
|
66970
67159
|
};
|
|
66971
67160
|
}
|
|
@@ -67722,7 +67911,7 @@ PY`;
|
|
|
67722
67911
|
return runSandboxCommand(sandbox, command2, envVars, timeoutMs);
|
|
67723
67912
|
}
|
|
67724
67913
|
const shell2 = await detectSandboxShell(sandbox);
|
|
67725
|
-
const tempScriptPath = `/tmp/
|
|
67914
|
+
const tempScriptPath = `/tmp/clawfast_script_${Date.now()}_${Math.random().toString(36).slice(2)}.py`;
|
|
67726
67915
|
await sandbox.files.write(tempScriptPath, script, {
|
|
67727
67916
|
user: "user"
|
|
67728
67917
|
});
|
|
@@ -67743,7 +67932,7 @@ async function getSandboxFileState(sandbox, path12) {
|
|
|
67743
67932
|
const result = await runPythonScript(
|
|
67744
67933
|
sandbox,
|
|
67745
67934
|
FILE_STATE_SCRIPT,
|
|
67746
|
-
{
|
|
67935
|
+
{ clawfast_FILE_STATE_PATH: pythonPath },
|
|
67747
67936
|
3e4
|
|
67748
67937
|
).catch((error51) => {
|
|
67749
67938
|
const message = error51 instanceof Error ? error51.message : String(error51);
|
|
@@ -67807,11 +67996,11 @@ ${numberedContent}${truncatedNotice}${footerNotice}`;
|
|
|
67807
67996
|
async function readSandboxTextFile(sandbox, path12, range) {
|
|
67808
67997
|
const pythonPath = getPythonPathForSandbox(sandbox, path12);
|
|
67809
67998
|
const envVars = {
|
|
67810
|
-
|
|
67811
|
-
|
|
67812
|
-
|
|
67813
|
-
|
|
67814
|
-
|
|
67999
|
+
clawfast_FILE_READ_PATH: pythonPath,
|
|
68000
|
+
clawfast_FILE_READ_RANGE_START: String(range?.[0] ?? 0),
|
|
68001
|
+
clawfast_FILE_READ_RANGE_END: String(range?.[1] ?? -1),
|
|
68002
|
+
clawfast_FILE_READ_MAX_FULL_BYTES: String(MAX_TEXT_FILE_READ_BYTES),
|
|
68003
|
+
clawfast_FILE_READ_MAX_RESULT_BYTES: String(MAX_TEXT_READ_RESULT_BYTES)
|
|
67815
68004
|
};
|
|
67816
68005
|
const result = await runPythonScript(
|
|
67817
68006
|
sandbox,
|
|
@@ -67907,7 +68096,7 @@ async function readSandboxTextFileWithFallback(sandbox, path12, range) {
|
|
|
67907
68096
|
}
|
|
67908
68097
|
}
|
|
67909
68098
|
async function appendSandboxTextFile(sandbox, path12, text2) {
|
|
67910
|
-
const tempPath = `/tmp/
|
|
68099
|
+
const tempPath = `/tmp/clawfast_append_${Date.now()}_${Math.random().toString(36).slice(2)}.tmp`;
|
|
67911
68100
|
await sandbox.files.write(tempPath, text2, {
|
|
67912
68101
|
user: "user"
|
|
67913
68102
|
});
|
|
@@ -67915,8 +68104,8 @@ async function appendSandboxTextFile(sandbox, path12, text2) {
|
|
|
67915
68104
|
sandbox,
|
|
67916
68105
|
APPEND_TEXT_FILE_SCRIPT,
|
|
67917
68106
|
{
|
|
67918
|
-
|
|
67919
|
-
|
|
68107
|
+
clawfast_FILE_APPEND_TARGET_PATH: getPythonPathForSandbox(sandbox, path12),
|
|
68108
|
+
clawfast_FILE_APPEND_SOURCE_PATH: getPythonPathForSandbox(
|
|
67920
68109
|
sandbox,
|
|
67921
68110
|
tempPath
|
|
67922
68111
|
)
|
|
@@ -67935,9 +68124,9 @@ async function readSandboxFileForView(sandbox, path12, includeData) {
|
|
|
67935
68124
|
}
|
|
67936
68125
|
const sandboxPath = getSandboxViewPath(sandbox, path12);
|
|
67937
68126
|
const viewEnvVars = {
|
|
67938
|
-
|
|
67939
|
-
|
|
67940
|
-
|
|
68127
|
+
clawfast_FILE_VIEW_PATH: sandboxPath,
|
|
68128
|
+
clawfast_FILE_VIEW_INCLUDE_DATA: includeData ? "1" : "0",
|
|
68129
|
+
clawfast_FILE_VIEW_MAX_BYTES: String(MAX_VIEW_FILE_BYTES)
|
|
67941
68130
|
};
|
|
67942
68131
|
const command = `PYTHON_BIN="$(command -v python3 || command -v python)" && "$PYTHON_BIN" - <<'PY'
|
|
67943
68132
|
${VIEW_FILE_SCRIPT}
|
|
@@ -68073,7 +68262,7 @@ var init_file = __esm({
|
|
|
68073
68262
|
"edit"
|
|
68074
68263
|
];
|
|
68075
68264
|
FILE_ACTIONS_TEXT_ONLY = ["read", "write", "append", "edit"];
|
|
68076
|
-
MULTIMODAL_UPGRADE_MESSAGE = "The current model does not support multimodal tool results for sandbox images. Please select
|
|
68265
|
+
MULTIMODAL_UPGRADE_MESSAGE = "The current model does not support multimodal tool results for sandbox images. Please select clawfast Pro or clawfast Max and retry the view action.";
|
|
68077
68266
|
VIEW_FILE_SCRIPT = String.raw`
|
|
68078
68267
|
import base64
|
|
68079
68268
|
import json
|
|
@@ -68081,9 +68270,9 @@ import mimetypes
|
|
|
68081
68270
|
import os
|
|
68082
68271
|
import sys
|
|
68083
68272
|
|
|
68084
|
-
path = os.environ["
|
|
68085
|
-
include_data = os.environ.get("
|
|
68086
|
-
max_bytes = int(os.environ.get("
|
|
68273
|
+
path = os.environ["clawfast_FILE_VIEW_PATH"]
|
|
68274
|
+
include_data = os.environ.get("clawfast_FILE_VIEW_INCLUDE_DATA") == "1"
|
|
68275
|
+
max_bytes = int(os.environ.get("clawfast_FILE_VIEW_MAX_BYTES", "10485760"))
|
|
68087
68276
|
|
|
68088
68277
|
def emit(payload, code=0):
|
|
68089
68278
|
print(json.dumps(payload, separators=(",", ":")))
|
|
@@ -68145,11 +68334,11 @@ import json
|
|
|
68145
68334
|
import os
|
|
68146
68335
|
import sys
|
|
68147
68336
|
|
|
68148
|
-
path = os.environ["
|
|
68149
|
-
range_start = int(os.environ.get("
|
|
68150
|
-
range_end = int(os.environ.get("
|
|
68151
|
-
max_full_bytes = int(os.environ.get("
|
|
68152
|
-
max_result_bytes = int(os.environ.get("
|
|
68337
|
+
path = os.environ["clawfast_FILE_READ_PATH"]
|
|
68338
|
+
range_start = int(os.environ.get("clawfast_FILE_READ_RANGE_START", "0"))
|
|
68339
|
+
range_end = int(os.environ.get("clawfast_FILE_READ_RANGE_END", "-1"))
|
|
68340
|
+
max_full_bytes = int(os.environ.get("clawfast_FILE_READ_MAX_FULL_BYTES", "1048576"))
|
|
68341
|
+
max_result_bytes = int(os.environ.get("clawfast_FILE_READ_MAX_RESULT_BYTES", "1048576"))
|
|
68153
68342
|
|
|
68154
68343
|
def emit(payload, code=0):
|
|
68155
68344
|
print(json.dumps(payload, separators=(",", ":")))
|
|
@@ -68241,7 +68430,7 @@ import json
|
|
|
68241
68430
|
import os
|
|
68242
68431
|
import sys
|
|
68243
68432
|
|
|
68244
|
-
path = os.environ["
|
|
68433
|
+
path = os.environ["clawfast_FILE_STATE_PATH"]
|
|
68245
68434
|
|
|
68246
68435
|
def emit(payload, code=0):
|
|
68247
68436
|
print(json.dumps(payload, separators=(",", ":")))
|
|
@@ -68262,8 +68451,8 @@ emit({
|
|
|
68262
68451
|
APPEND_TEXT_FILE_SCRIPT = String.raw`
|
|
68263
68452
|
import os
|
|
68264
68453
|
|
|
68265
|
-
target_path = os.environ["
|
|
68266
|
-
source_path = os.environ["
|
|
68454
|
+
target_path = os.environ["clawfast_FILE_APPEND_TARGET_PATH"]
|
|
68455
|
+
source_path = os.environ["clawfast_FILE_APPEND_SOURCE_PATH"]
|
|
68267
68456
|
|
|
68268
68457
|
with open(source_path, "rb") as source, open(target_path, "ab") as target:
|
|
68269
68458
|
while True:
|
|
@@ -68320,7 +68509,7 @@ except OSError:
|
|
|
68320
68509
|
"Use 'read' for text-based or line-oriented formats."
|
|
68321
68510
|
] : [
|
|
68322
68511
|
"Use 'read' for text-based or line-oriented formats.",
|
|
68323
|
-
"This model cannot view sandbox images directly; ask the user to select
|
|
68512
|
+
"This model cannot view sandbox images directly; ask the user to select clawfast Pro or clawfast Max for multimodal image viewing."
|
|
68324
68513
|
],
|
|
68325
68514
|
"Code MUST be saved to a file using this tool before execution via the shell tool.",
|
|
68326
68515
|
"DO NOT write partial or truncated content; always output the full content.",
|
|
@@ -68851,7 +69040,7 @@ var init_perplexity = __esm({
|
|
|
68851
69040
|
});
|
|
68852
69041
|
|
|
68853
69042
|
// ../lib/ai/tools/web-search.ts
|
|
68854
|
-
var WEB_SEARCH_COST_PER_REQUEST, PERPLEXITY_SEARCH_URL, WEB_SEARCH_MAX_ATTEMPTS, WEB_SEARCH_RETRY_BASE_DELAY_MS, WEB_SEARCH_RETRY_JITTER_MS, PERPLEXITY_QUERY_MAX_LENGTH, EMPTY_QUERY_TOOL_ERROR, QUERY_TOO_LONG_TOOL_ERROR, webSearchQuerySchema,
|
|
69043
|
+
var WEB_SEARCH_COST_PER_REQUEST, PERPLEXITY_SEARCH_URL, WEB_SEARCH_MAX_ATTEMPTS, WEB_SEARCH_RETRY_BASE_DELAY_MS, WEB_SEARCH_RETRY_JITTER_MS, PERPLEXITY_QUERY_MAX_LENGTH, EMPTY_QUERY_TOOL_ERROR, QUERY_TOO_LONG_TOOL_ERROR, webSearchQuerySchema, sleep2, getRetryDelayMs, createPerplexityApiError, formatPerplexityFailureForTool, fetchPerplexitySearch, normalizeSearchQueries, createWebSearch;
|
|
68855
69044
|
var init_web_search = __esm({
|
|
68856
69045
|
"../lib/ai/tools/web-search.ts"() {
|
|
68857
69046
|
"use strict";
|
|
@@ -68868,7 +69057,7 @@ var init_web_search = __esm({
|
|
|
68868
69057
|
EMPTY_QUERY_TOOL_ERROR = "Error performing web search: Provide at least one non-empty query.";
|
|
68869
69058
|
QUERY_TOO_LONG_TOOL_ERROR = `Error performing web search: Each query must be ${PERPLEXITY_QUERY_MAX_LENGTH} characters or fewer.`;
|
|
68870
69059
|
webSearchQuerySchema = external_exports.string().trim().min(1).max(PERPLEXITY_QUERY_MAX_LENGTH);
|
|
68871
|
-
|
|
69060
|
+
sleep2 = (delayMs, signal) => {
|
|
68872
69061
|
if (delayMs <= 0) return Promise.resolve();
|
|
68873
69062
|
if (signal?.aborted) {
|
|
68874
69063
|
return Promise.reject(new DOMException("Operation aborted", "AbortError"));
|
|
@@ -68945,7 +69134,7 @@ var init_web_search = __esm({
|
|
|
68945
69134
|
bodySummary: error51.bodySummary,
|
|
68946
69135
|
delayMs
|
|
68947
69136
|
});
|
|
68948
|
-
await
|
|
69137
|
+
await sleep2(delayMs, abortSignal);
|
|
68949
69138
|
} catch (error51) {
|
|
68950
69139
|
if (error51 instanceof Error && error51.name === "AbortError") {
|
|
68951
69140
|
throw error51;
|
|
@@ -68963,7 +69152,7 @@ var init_web_search = __esm({
|
|
|
68963
69152
|
error: stringifyRedactedError(error51),
|
|
68964
69153
|
delayMs
|
|
68965
69154
|
});
|
|
68966
|
-
await
|
|
69155
|
+
await sleep2(delayMs, abortSignal);
|
|
68967
69156
|
}
|
|
68968
69157
|
}
|
|
68969
69158
|
throw new Error("Web search failed before any Perplexity response was read");
|
|
@@ -69207,7 +69396,7 @@ var init_scope = __esm({
|
|
|
69207
69396
|
} else {
|
|
69208
69397
|
try {
|
|
69209
69398
|
const records = await import_promises.default.lookup(host, { all: true });
|
|
69210
|
-
for (const
|
|
69399
|
+
for (const r2 of records) candidates.push(r2.address);
|
|
69211
69400
|
} catch {
|
|
69212
69401
|
return false;
|
|
69213
69402
|
}
|
|
@@ -69243,7 +69432,7 @@ var init_scope = __esm({
|
|
|
69243
69432
|
});
|
|
69244
69433
|
|
|
69245
69434
|
// src/tools/http-request.ts
|
|
69246
|
-
var FUZZ, MAX_FUZZ, BODY_PREVIEW_CHARS, DEFAULT_TIMEOUT_S, LOOPBACK, numberEnv,
|
|
69435
|
+
var FUZZ, MAX_FUZZ, BODY_PREVIEW_CHARS, DEFAULT_TIMEOUT_S, LOOPBACK, numberEnv, sleep3, sampleUrl, NOTABLE_HEADERS, applyFuzz, buildInit, collectNotableHeaders, doRequest, summarizeFuzz, scopeRefusal, createHttpRequest;
|
|
69247
69436
|
var init_http_request = __esm({
|
|
69248
69437
|
"src/tools/http-request.ts"() {
|
|
69249
69438
|
"use strict";
|
|
@@ -69259,7 +69448,7 @@ var init_http_request = __esm({
|
|
|
69259
69448
|
const raw = Number(process.env[name25]);
|
|
69260
69449
|
return Number.isFinite(raw) && raw >= 0 ? raw : void 0;
|
|
69261
69450
|
};
|
|
69262
|
-
|
|
69451
|
+
sleep3 = (ms, signal) => new Promise((resolve2) => {
|
|
69263
69452
|
if (ms <= 0 || signal?.aborted) return resolve2();
|
|
69264
69453
|
const t = setTimeout(resolve2, ms);
|
|
69265
69454
|
signal?.addEventListener(
|
|
@@ -69334,11 +69523,11 @@ var init_http_request = __esm({
|
|
|
69334
69523
|
}
|
|
69335
69524
|
};
|
|
69336
69525
|
summarizeFuzz = (rows) => {
|
|
69337
|
-
const ok = rows.filter((
|
|
69526
|
+
const ok = rows.filter((r2) => r2.status !== "ERR");
|
|
69338
69527
|
const statusCounts = /* @__PURE__ */ new Map();
|
|
69339
|
-
for (const
|
|
69340
|
-
if (typeof
|
|
69341
|
-
statusCounts.set(
|
|
69528
|
+
for (const r2 of ok) {
|
|
69529
|
+
if (typeof r2.status === "number") {
|
|
69530
|
+
statusCounts.set(r2.status, (statusCounts.get(r2.status) ?? 0) + 1);
|
|
69342
69531
|
}
|
|
69343
69532
|
}
|
|
69344
69533
|
let baselineStatus = null;
|
|
@@ -69349,12 +69538,12 @@ var init_http_request = __esm({
|
|
|
69349
69538
|
baselineStatus = status;
|
|
69350
69539
|
}
|
|
69351
69540
|
}
|
|
69352
|
-
const lengths = ok.map((
|
|
69541
|
+
const lengths = ok.map((r2) => r2.bodyLength).sort((a, b) => a - b);
|
|
69353
69542
|
const medianLen = lengths.length ? lengths[Math.floor(lengths.length / 2)] : 0;
|
|
69354
|
-
const anomalies = rows.filter((
|
|
69355
|
-
if (
|
|
69356
|
-
if (baselineStatus != null &&
|
|
69357
|
-
if (medianLen > 0 && Math.abs(
|
|
69543
|
+
const anomalies = rows.filter((r2) => {
|
|
69544
|
+
if (r2.status === "ERR") return true;
|
|
69545
|
+
if (baselineStatus != null && r2.status !== baselineStatus) return true;
|
|
69546
|
+
if (medianLen > 0 && Math.abs(r2.bodyLength - medianLen) > medianLen * 0.25) {
|
|
69358
69547
|
return true;
|
|
69359
69548
|
}
|
|
69360
69549
|
return false;
|
|
@@ -69367,9 +69556,9 @@ var init_http_request = __esm({
|
|
|
69367
69556
|
lines.push("No anomalies \u2014 every response matched the baseline.");
|
|
69368
69557
|
} else {
|
|
69369
69558
|
lines.push(`${anomalies.length} anomaly/anomalies worth checking:`);
|
|
69370
|
-
for (const
|
|
69559
|
+
for (const r2 of anomalies.slice(0, 40)) {
|
|
69371
69560
|
lines.push(
|
|
69372
|
-
` \u2022 ${JSON.stringify(
|
|
69561
|
+
` \u2022 ${JSON.stringify(r2.payload)} \u2192 ${r2.status}` + (r2.status === "ERR" ? ` (${r2.error ?? "error"})` : ` | ${r2.bodyLength} bytes | ${r2.timeMs}ms`)
|
|
69373
69562
|
);
|
|
69374
69563
|
}
|
|
69375
69564
|
if (anomalies.length > 40) {
|
|
@@ -69381,8 +69570,8 @@ var init_http_request = __esm({
|
|
|
69381
69570
|
scopeRefusal = (host, workdir) => `Recusado: o host "${host}" n\xE3o est\xE1 no escopo autorizado. Adicione-o a ${scopeFileFor(workdir)} (formatos: example.com, *.example.com, CIDR 10.0.0.0/24, ou um IP) \u2014 somente alvos que voc\xEA possui ou tem autoriza\xE7\xE3o expl\xEDcita para testar. Edite o scope.txt com a ferramenta file e tente de novo.`;
|
|
69382
69571
|
createHttpRequest = (deps) => {
|
|
69383
69572
|
const { workdir, loadScopeFn = loadScope } = deps;
|
|
69384
|
-
const envThrottle = numberEnv("
|
|
69385
|
-
const envJitter = numberEnv("
|
|
69573
|
+
const envThrottle = numberEnv("clawfast_HTTP_THROTTLE_MS");
|
|
69574
|
+
const envJitter = numberEnv("clawfast_HTTP_JITTER_MS");
|
|
69386
69575
|
return tool({
|
|
69387
69576
|
description: `Send a fully-controlled HTTP request (a native Repeater) and, with \`fuzz\`, an Intruder. Use this to iterate on a web vulnerability inside the agent loop instead of writing a one-off script for every probe.
|
|
69388
69577
|
|
|
@@ -69406,7 +69595,7 @@ USE FOR: testing a single endpoint, replaying/tampering a captured request, para
|
|
|
69406
69595
|
fuzz: external_exports.array(external_exports.string()).optional().describe(
|
|
69407
69596
|
`Intruder payloads \u2014 substituted into the FUZZ marker, one request each (max ${MAX_FUZZ}).`
|
|
69408
69597
|
),
|
|
69409
|
-
throttle_ms: external_exports.number().optional().describe("OPSEC: delay between fuzz requests in ms (overrides
|
|
69598
|
+
throttle_ms: external_exports.number().optional().describe("OPSEC: delay between fuzz requests in ms (overrides clawfast_HTTP_THROTTLE_MS)."),
|
|
69410
69599
|
jitter_ms: external_exports.number().optional().describe("OPSEC: random extra delay 0..jitter added to each throttle.")
|
|
69411
69600
|
}),
|
|
69412
69601
|
execute: async (input, { abortSignal } = {}) => {
|
|
@@ -69468,7 +69657,7 @@ USE FOR: testing a single endpoint, replaying/tampering a captured request, para
|
|
|
69468
69657
|
});
|
|
69469
69658
|
}
|
|
69470
69659
|
if (i < list.length - 1 && (throttle > 0 || jitter > 0)) {
|
|
69471
|
-
await
|
|
69660
|
+
await sleep3(throttle + Math.floor(Math.random() * (jitter + 1)), abortSignal);
|
|
69472
69661
|
}
|
|
69473
69662
|
}
|
|
69474
69663
|
return { fuzz: { host, count: rows.length, rows } };
|
|
@@ -69672,7 +69861,7 @@ var init_findings = __esm({
|
|
|
69672
69861
|
}
|
|
69673
69862
|
if (f.references?.length) {
|
|
69674
69863
|
lines.push(`**Refer\xEAncias:**`);
|
|
69675
|
-
for (const
|
|
69864
|
+
for (const r2 of f.references) lines.push(`- ${r2}`);
|
|
69676
69865
|
lines.push("");
|
|
69677
69866
|
}
|
|
69678
69867
|
}
|
|
@@ -69964,7 +70153,7 @@ function getDefaultShell(platform) {
|
|
|
69964
70153
|
return { shell: "/bin/bash", shellFlag: "-c" };
|
|
69965
70154
|
}
|
|
69966
70155
|
function findGitBash() {
|
|
69967
|
-
const override = process.env.
|
|
70156
|
+
const override = process.env.clawfast_BASH_PATH;
|
|
69968
70157
|
if (override && (0, import_fs.existsSync)(override)) return override;
|
|
69969
70158
|
const candidates = [
|
|
69970
70159
|
"C:\\Program Files\\Git\\bin\\bash.exe",
|
|
@@ -70473,7 +70662,7 @@ function createRenderer() {
|
|
|
70473
70662
|
reasoning(delta) {
|
|
70474
70663
|
sep3("reasoning");
|
|
70475
70664
|
if (!reasoningHeaderShown) {
|
|
70476
|
-
out(
|
|
70665
|
+
out(` ${gradient("\u25C6 pensando", { bold: true })}${C3.dim} \xB7 `);
|
|
70477
70666
|
reasoningHeaderShown = true;
|
|
70478
70667
|
}
|
|
70479
70668
|
out(`${C3.dim}${delta}${C3.reset}`);
|
|
@@ -70621,22 +70810,24 @@ function summarizeResult(toolName, output) {
|
|
|
70621
70810
|
}
|
|
70622
70811
|
return null;
|
|
70623
70812
|
}
|
|
70624
|
-
var C3, GUTTER_BAR, out, truncate3;
|
|
70813
|
+
var VIOLET, C3, GUTTER_BAR, out, truncate3;
|
|
70625
70814
|
var init_render = __esm({
|
|
70626
70815
|
"src/render.ts"() {
|
|
70627
70816
|
"use strict";
|
|
70817
|
+
init_theme();
|
|
70818
|
+
VIOLET = [182, 140, 255];
|
|
70628
70819
|
C3 = {
|
|
70629
|
-
reset: "
|
|
70630
|
-
dim:
|
|
70631
|
-
red:
|
|
70632
|
-
green:
|
|
70633
|
-
yellow:
|
|
70634
|
-
blue:
|
|
70635
|
-
magenta:
|
|
70636
|
-
cyan:
|
|
70637
|
-
bold: "
|
|
70638
|
-
};
|
|
70639
|
-
GUTTER_BAR = `${
|
|
70820
|
+
reset: colorOn ? RESET : "",
|
|
70821
|
+
dim: fg(PAL.dim),
|
|
70822
|
+
red: fg(PAL.danger),
|
|
70823
|
+
green: fg(PAL.green),
|
|
70824
|
+
yellow: fg(PAL.warn),
|
|
70825
|
+
blue: fg(PAL.cyan),
|
|
70826
|
+
magenta: fg(VIOLET),
|
|
70827
|
+
cyan: fg(PAL.cyan),
|
|
70828
|
+
bold: colorOn ? BOLD : ""
|
|
70829
|
+
};
|
|
70830
|
+
GUTTER_BAR = `${fg(PAL.frame)}\u2502${C3.reset} `;
|
|
70640
70831
|
out = (s) => process.stdout.write(s);
|
|
70641
70832
|
truncate3 = (s, n = 200) => s.length > n ? `${s.slice(0, n)}...` : s;
|
|
70642
70833
|
}
|
|
@@ -70859,7 +71050,7 @@ var init_proxy_manager2 = __esm({
|
|
|
70859
71050
|
dirFor = (def) => process.env[def.dirEnv]?.trim() || import_node_path8.default.join(proxiesRoot(), def.folder);
|
|
70860
71051
|
healthUrl = (def) => `http://localhost:${def.port}/health`;
|
|
70861
71052
|
baseUrl = (def) => `http://localhost:${def.port}/v1`;
|
|
70862
|
-
wait = (ms) => new Promise((
|
|
71053
|
+
wait = (ms) => new Promise((r2) => setTimeout(r2, ms));
|
|
70863
71054
|
started = /* @__PURE__ */ new Set();
|
|
70864
71055
|
exitHooksInstalled = false;
|
|
70865
71056
|
quoteArg = (s) => /[\s"&|<>^()]/.test(s) ? `"${s.replace(/"/g, '\\"')}"` : s;
|
|
@@ -70907,7 +71098,7 @@ function buildAuditSystemPrompt(opts) {
|
|
|
70907
71098
|
const shellNote = isWin ? "Voc\xEA est\xE1 em Windows. Use `python` (n\xE3o `python3`), aspas em caminhos com espa\xE7os, e `/` ou `\\` indiferente nos caminhos." : "Use `python3` quando `python` n\xE3o existir.";
|
|
70908
71099
|
const shellHint = opts.shellHint ?? shellNote;
|
|
70909
71100
|
const toolkit = `"${workdir}/audit/project_audit.py"`;
|
|
70910
|
-
return `Voc\xEA \xE9 o **
|
|
71101
|
+
return `Voc\xEA \xE9 o **clawfast Auditor** \u2014 um ORQUESTRADOR de auditoria de SEGURAN\xC7A DE APLICA\xC7\xD5ES e ARQUITETURA DE C\xD3DIGO, operando em modo SOMENTE LEITURA dentro do terminal do VS Code, no projeto REAL do usu\xE1rio.
|
|
70911
71102
|
|
|
70912
71103
|
FILOSOFIA (estado da arte \u2014 h\xEDbrido, n\xE3o LLM puro):
|
|
70913
71104
|
Voc\xEA N\xC3O \xE9 um LLM que l\xEA o projeto inteiro linha a linha. Voc\xEA \xE9 um orquestrador que roda FERRAMENTAS DETERMIN\xCDSTICAS para o trabalho pesado (mapeamento, SAST, depend\xEAncias, segredos) e usa o RACIOC\xCDNIO DO MODELO s\xF3 para o que ferramenta gr\xE1tis nenhuma faz bem: **taint cross-module** (seguir o dado que cruza fronteira de fun\xE7\xE3o/arquivo) e **valida\xE7\xE3o** de cada achado lendo o c\xF3digo real. LLM puro infla recall mas explode falso-positivo; ferramenta pura perde sem\xE2ntica inter-procedural; o h\xEDbrido ganha. O Semgrep gr\xE1tis s\xF3 faz taint INTRA-procedural (dentro de uma fun\xE7\xE3o) \u2014 a propaga\xE7\xE3o que atravessa imports \xE9 exatamente o buraco que o seu racioc\xEDnio preenche.
|
|
@@ -71144,12 +71335,23 @@ function balancedSpan(text2, open, close) {
|
|
|
71144
71335
|
function entryToBridgedCall(entry) {
|
|
71145
71336
|
if (!entry || typeof entry !== "object") return null;
|
|
71146
71337
|
const e = entry;
|
|
71338
|
+
const brief = typeof e.brief === "string" ? e.brief : "";
|
|
71339
|
+
const explicit = typeof e.tool === "string" ? e.tool : typeof e.tool_name === "string" ? e.tool_name : null;
|
|
71340
|
+
if (explicit && BRIDGEABLE_TOOLS.has(explicit)) {
|
|
71341
|
+
const nested = [e.input, e.args, e.parameters].find(
|
|
71342
|
+
(v) => v && typeof v === "object" && !Array.isArray(v)
|
|
71343
|
+
);
|
|
71344
|
+
const input = { brief, ...nested ?? e };
|
|
71345
|
+
delete input.tool;
|
|
71346
|
+
delete input.tool_name;
|
|
71347
|
+
return { toolName: explicit, input };
|
|
71348
|
+
}
|
|
71147
71349
|
if (typeof e.command === "string" && e.command.trim()) {
|
|
71148
71350
|
return {
|
|
71149
71351
|
toolName: "run_terminal_cmd",
|
|
71150
71352
|
input: {
|
|
71151
71353
|
command: e.command,
|
|
71152
|
-
brief
|
|
71354
|
+
brief,
|
|
71153
71355
|
is_background: e.is_background === true,
|
|
71154
71356
|
interactive: e.interactive === true,
|
|
71155
71357
|
timeout: typeof e.timeout === "number" ? e.timeout : 60
|
|
@@ -71162,13 +71364,25 @@ function entryToBridgedCall(entry) {
|
|
|
71162
71364
|
input: {
|
|
71163
71365
|
action: e.action,
|
|
71164
71366
|
path: e.path,
|
|
71165
|
-
brief
|
|
71367
|
+
brief,
|
|
71166
71368
|
...typeof e.text === "string" ? { text: e.text } : {},
|
|
71167
71369
|
...Array.isArray(e.range) ? { range: e.range } : {},
|
|
71168
71370
|
...Array.isArray(e.edits) ? { edits: e.edits } : {}
|
|
71169
71371
|
}
|
|
71170
71372
|
};
|
|
71171
71373
|
}
|
|
71374
|
+
if (typeof e.action === "string" && FINDINGS_ACTIONS.has(e.action)) {
|
|
71375
|
+
return { toolName: "findings", input: { ...e, brief } };
|
|
71376
|
+
}
|
|
71377
|
+
if (typeof e.url === "string" && e.url.trim()) {
|
|
71378
|
+
return { toolName: "http_request", input: { ...e, brief } };
|
|
71379
|
+
}
|
|
71380
|
+
if (Array.isArray(e.todos)) {
|
|
71381
|
+
return {
|
|
71382
|
+
toolName: "todo_write",
|
|
71383
|
+
input: { merge: e.merge === true, todos: e.todos }
|
|
71384
|
+
};
|
|
71385
|
+
}
|
|
71172
71386
|
return null;
|
|
71173
71387
|
}
|
|
71174
71388
|
function validateBatch(raw) {
|
|
@@ -71205,12 +71419,27 @@ function parseProxyToolCalls(text2) {
|
|
|
71205
71419
|
}
|
|
71206
71420
|
function summarizeBridgedCalls(calls) {
|
|
71207
71421
|
return calls.map((call) => {
|
|
71208
|
-
|
|
71209
|
-
|
|
71422
|
+
const i = call.input;
|
|
71423
|
+
switch (call.toolName) {
|
|
71424
|
+
case "run_terminal_cmd":
|
|
71425
|
+
return `$ ${truncateBridgeSummary(String(i.command ?? ""))}`;
|
|
71426
|
+
case "file":
|
|
71427
|
+
return `${String(i.action ?? "file")} ${truncateBridgeSummary(
|
|
71428
|
+
String(i.path ?? ""),
|
|
71429
|
+
120
|
|
71430
|
+
)}`.trim();
|
|
71431
|
+
case "http_request":
|
|
71432
|
+
return `${String(i.method ?? "GET")} ${truncateBridgeSummary(
|
|
71433
|
+
String(i.url ?? ""),
|
|
71434
|
+
120
|
|
71435
|
+
)}`.trim();
|
|
71436
|
+
case "findings":
|
|
71437
|
+
return `findings ${String(i.action ?? "")}`.trim();
|
|
71438
|
+
case "todo_write":
|
|
71439
|
+
return `todo_write (${Array.isArray(i.todos) ? i.todos.length : 0} itens)`;
|
|
71440
|
+
default:
|
|
71441
|
+
return call.toolName;
|
|
71210
71442
|
}
|
|
71211
|
-
const action = String(call.input.action ?? "file");
|
|
71212
|
-
const target = String(call.input.path ?? "");
|
|
71213
|
-
return `${action} ${truncateBridgeSummary(target, 120)}`.trim();
|
|
71214
71443
|
}).join("; ");
|
|
71215
71444
|
}
|
|
71216
71445
|
async function createAgent() {
|
|
@@ -71533,6 +71762,31 @@ ${seen}`);
|
|
|
71533
71762
|
}
|
|
71534
71763
|
let streamError = null;
|
|
71535
71764
|
let stalled = false;
|
|
71765
|
+
let turnText = "";
|
|
71766
|
+
const turnToolSummaries = [];
|
|
71767
|
+
const preservePartialWork = () => {
|
|
71768
|
+
const segs = [];
|
|
71769
|
+
const text2 = turnText.trim();
|
|
71770
|
+
if (text2) {
|
|
71771
|
+
segs.push(text2.length > 4e3 ? `...${text2.slice(-4e3)}` : text2);
|
|
71772
|
+
}
|
|
71773
|
+
if (turnToolSummaries.length) {
|
|
71774
|
+
segs.push(
|
|
71775
|
+
"A\xE7\xF5es j\xE1 executadas neste turno:\n" + turnToolSummaries.map((s) => `- ${s}`).join("\n")
|
|
71776
|
+
);
|
|
71777
|
+
}
|
|
71778
|
+
if (!segs.length) return;
|
|
71779
|
+
history.push({
|
|
71780
|
+
role: "assistant",
|
|
71781
|
+
content: `[Trabalho parcial de ${labelFor(
|
|
71782
|
+
modelKey
|
|
71783
|
+
)} antes de falhar \u2014 N\xC3O recomece do zero; continue exatamente a partir daqui:]
|
|
71784
|
+
|
|
71785
|
+
${segs.join(
|
|
71786
|
+
"\n\n"
|
|
71787
|
+
)}`
|
|
71788
|
+
});
|
|
71789
|
+
};
|
|
71536
71790
|
const stallController = new AbortController();
|
|
71537
71791
|
const onUserAbort = () => stallController.abort();
|
|
71538
71792
|
if (signal) {
|
|
@@ -71567,9 +71821,8 @@ ${seen}`);
|
|
|
71567
71821
|
}
|
|
71568
71822
|
});
|
|
71569
71823
|
let lastStepText = "";
|
|
71570
|
-
let bufferedProxyText = "";
|
|
71571
71824
|
let turnToolCalls = 0;
|
|
71572
|
-
const
|
|
71825
|
+
const isProxyModel = isWebSessionProxyModel(modelKey);
|
|
71573
71826
|
let pendingTools = 0;
|
|
71574
71827
|
const noteActivity = () => {
|
|
71575
71828
|
if (pendingTools === 0) armStallTimer();
|
|
@@ -71581,11 +71834,8 @@ ${seen}`);
|
|
|
71581
71834
|
case "text-delta": {
|
|
71582
71835
|
const delta = part.text ?? part.delta ?? "";
|
|
71583
71836
|
lastStepText += delta;
|
|
71584
|
-
|
|
71585
|
-
|
|
71586
|
-
} else {
|
|
71587
|
-
render.text(delta);
|
|
71588
|
-
}
|
|
71837
|
+
turnText += delta;
|
|
71838
|
+
render.text(delta);
|
|
71589
71839
|
noteActivity();
|
|
71590
71840
|
break;
|
|
71591
71841
|
}
|
|
@@ -71593,12 +71843,16 @@ ${seen}`);
|
|
|
71593
71843
|
render.reasoning(part.text ?? part.delta ?? "");
|
|
71594
71844
|
noteActivity();
|
|
71595
71845
|
break;
|
|
71596
|
-
case "tool-call":
|
|
71846
|
+
case "tool-call": {
|
|
71597
71847
|
turnToolCalls++;
|
|
71598
71848
|
pendingTools++;
|
|
71599
71849
|
clearStallTimer();
|
|
71600
|
-
|
|
71850
|
+
const input = part.input ?? part.args ?? {};
|
|
71851
|
+
const brief = typeof input.command === "string" ? `$ ${input.command}` : typeof input.path === "string" ? `${String(input.action ?? "file")} ${input.path}` : String(part.toolName);
|
|
71852
|
+
turnToolSummaries.push(truncateBridgeSummary(brief, 160));
|
|
71853
|
+
render.toolCall(part.toolName, input);
|
|
71601
71854
|
break;
|
|
71855
|
+
}
|
|
71602
71856
|
case "tool-result":
|
|
71603
71857
|
if (pendingTools > 0) pendingTools--;
|
|
71604
71858
|
render.toolResult(part.toolName, part.output ?? part.result);
|
|
@@ -71610,7 +71864,6 @@ ${seen}`);
|
|
|
71610
71864
|
break;
|
|
71611
71865
|
case "start-step":
|
|
71612
71866
|
lastStepText = "";
|
|
71613
|
-
bufferedProxyText = "";
|
|
71614
71867
|
noteActivity();
|
|
71615
71868
|
break;
|
|
71616
71869
|
case "error":
|
|
@@ -71643,8 +71896,8 @@ ${seen}`);
|
|
|
71643
71896
|
const finishReason = String(
|
|
71644
71897
|
await result.finishReason.catch(() => "unknown")
|
|
71645
71898
|
);
|
|
71646
|
-
const leakedCall = !
|
|
71647
|
-
if (finishReason === "stop" && turnToolCalls === 0 && bridgeSteps < MAX_BRIDGE_STEPS && (
|
|
71899
|
+
const leakedCall = !isProxyModel && hasLeakedToolCallMarker(lastStepText);
|
|
71900
|
+
if (finishReason === "stop" && turnToolCalls === 0 && bridgeSteps < MAX_BRIDGE_STEPS && (isProxyModel || leakedCall)) {
|
|
71648
71901
|
const bridged = parseProxyToolCalls(lastStepText);
|
|
71649
71902
|
if (bridged) {
|
|
71650
71903
|
bridgeSteps++;
|
|
@@ -71686,9 +71939,6 @@ ${resultText}`
|
|
|
71686
71939
|
idx--;
|
|
71687
71940
|
continue;
|
|
71688
71941
|
}
|
|
71689
|
-
if (shouldBufferProxyText && bufferedProxyText) {
|
|
71690
|
-
render.text(bufferedProxyText);
|
|
71691
|
-
}
|
|
71692
71942
|
if (finishReason !== "stop") {
|
|
71693
71943
|
render.info(
|
|
71694
71944
|
`\u25B8 fim do turno: ${finishReason}` + (autoContinues >= MAX_AUTO_CONTINUES ? " (limite de retomadas autom\xE1ticas atingido)" : "")
|
|
@@ -71711,6 +71961,7 @@ ${resultText}`
|
|
|
71711
71961
|
while (history.length && history[history.length - 1]?.role !== "user") {
|
|
71712
71962
|
history.pop();
|
|
71713
71963
|
}
|
|
71964
|
+
preservePartialWork();
|
|
71714
71965
|
const secs = Math.round(STREAM_STALL_TIMEOUT_MS / 1e3);
|
|
71715
71966
|
lastError = new Error(
|
|
71716
71967
|
`stream travou (${secs}s sem dados) em ${labelFor(modelKey)}`
|
|
@@ -71754,13 +72005,14 @@ ${resultText}`
|
|
|
71754
72005
|
while (history.length && history[history.length - 1]?.role !== "user") {
|
|
71755
72006
|
history.pop();
|
|
71756
72007
|
}
|
|
72008
|
+
preservePartialWork();
|
|
71757
72009
|
if (rateLimited && rateLimitWaits < MAX_RATE_LIMIT_WAITS) {
|
|
71758
72010
|
const waitMs = Math.min(3e3 * 2 ** rateLimitWaits, 15e3);
|
|
71759
72011
|
rateLimitWaits++;
|
|
71760
72012
|
render.info(
|
|
71761
72013
|
`\u25B8 rate limit \u2014 aguardando ${Math.round(waitMs / 1e3)}s antes da pr\xF3xima tentativa (Ctrl+C cancela)\u2026`
|
|
71762
72014
|
);
|
|
71763
|
-
await
|
|
72015
|
+
await sleep4(waitMs, signal);
|
|
71764
72016
|
if (signal?.aborted) {
|
|
71765
72017
|
render.endTurn();
|
|
71766
72018
|
return;
|
|
@@ -71807,7 +72059,7 @@ ${resultText}`
|
|
|
71807
72059
|
close
|
|
71808
72060
|
};
|
|
71809
72061
|
}
|
|
71810
|
-
var import_promises2, import_node_path10, MAX_STEPS, MAX_OUTPUT_TOKENS, MAX_AUTO_CONTINUES, MAX_RATE_LIMIT_WAITS, STREAM_STALL_TIMEOUT_MS, MAX_STALL_RETRIES, isRateLimitError,
|
|
72062
|
+
var import_promises2, import_node_path10, MAX_STEPS, MAX_OUTPUT_TOKENS, MAX_AUTO_CONTINUES, MAX_RATE_LIMIT_WAITS, STREAM_STALL_TIMEOUT_MS, MAX_STALL_RETRIES, isRateLimitError, sleep4, LEAKED_TOOL_CALL_RE, DANGLING_TAIL_RE, ACTION_ANNOUNCE_RE, BENIGN_CLOSER_RE, TOOL_CALL_NUDGE, MAX_BRIDGE_STEPS, BRIDGE_RESULT_PREAMBLE, LEAKED_CALL_RESULT_PREAMBLE, BRIDGEABLE_TOOLS, FINDINGS_ACTIONS, truncateBridgeSummary, isWebSessionProxyModel, proxyToolProtocolPolicy, SYSTEM_PROMPT_SOURCE, REQUIRED_SYSTEM_PROMPT_MARKERS, MODEL_LABELS, labelFor, loginRequiredHint, CLI_PYTHON_ONLY_POLICY, pythonOnlyPolicy, scriptFilePolicy, deepReconPolicy, httpAndFindingsPolicy, reconPhasesPolicy, skillsScopePolicy, hasEnvValue2, envFlagEnabled, CLI_PERSONALITIES, buildCliUserCustomization, buildCliNotesSection, cliGuardrailsConfig, maybeDumpSystemPrompt, auditSystemPrompt, assertFullSystemPrompt;
|
|
71811
72063
|
var init_agent = __esm({
|
|
71812
72064
|
"src/agent.ts"() {
|
|
71813
72065
|
"use strict";
|
|
@@ -71842,14 +72094,14 @@ var init_agent = __esm({
|
|
|
71842
72094
|
MAX_AUTO_CONTINUES = 3;
|
|
71843
72095
|
MAX_RATE_LIMIT_WAITS = 4;
|
|
71844
72096
|
STREAM_STALL_TIMEOUT_MS = (() => {
|
|
71845
|
-
const raw = Number(process.env.
|
|
72097
|
+
const raw = Number(process.env.clawfast_CLI_STREAM_STALL_MS);
|
|
71846
72098
|
return Number.isFinite(raw) && raw >= 1e4 ? raw : 18e4;
|
|
71847
72099
|
})();
|
|
71848
72100
|
MAX_STALL_RETRIES = 2;
|
|
71849
72101
|
isRateLimitError = (msg) => /\b429\b|too many requests|rate.?limit|resource_exhausted|quota|insufficient_quota/i.test(
|
|
71850
72102
|
msg
|
|
71851
72103
|
);
|
|
71852
|
-
|
|
72104
|
+
sleep4 = (ms, signal) => new Promise((resolve2) => {
|
|
71853
72105
|
if (signal?.aborted) return resolve2();
|
|
71854
72106
|
const timer2 = setTimeout(resolve2, ms);
|
|
71855
72107
|
signal?.addEventListener(
|
|
@@ -71869,6 +72121,14 @@ var init_agent = __esm({
|
|
|
71869
72121
|
MAX_BRIDGE_STEPS = 50;
|
|
71870
72122
|
BRIDGE_RESULT_PREAMBLE = "Voc\xEA roda via proxy de sess\xE3o web (sem function-calling nativo), ent\xE3o o runtime do CLI consumiu o bloco JSON anterior como chamada interna e EXECUTOU de verdade. N\xE3o repita o bloco nem o texto anterior. Os resultados REAIS est\xE3o abaixo. Continue a tarefa: se precisar de mais a\xE7\xF5es, emita SOMENTE o PR\xD3XIMO bloco ```json (um array de {brief, command, timeout} para terminal, ou {action, path, text} para arquivo). Um bloco por vez. Quando a tarefa terminar, responda em texto normal SEM bloco json.";
|
|
71871
72123
|
LEAKED_CALL_RESULT_PREAMBLE = "Sua chamada de ferramenta anterior chegou como TEXTO (n\xE3o como function call nativo), ent\xE3o o runtime do CLI a executou mesmo assim. Os resultados REAIS est\xE3o abaixo. Continue a tarefa chamando as ferramentas NORMALMENTE (run_terminal_cmd, file, todo_write) como function calls de verdade \u2014 N\xC3O cole markup de tool call (`call_tool_function`, `<tool_call>`, etc.) nem JSON de chamada como texto na resposta.";
|
|
72124
|
+
BRIDGEABLE_TOOLS = /* @__PURE__ */ new Set([
|
|
72125
|
+
"run_terminal_cmd",
|
|
72126
|
+
"file",
|
|
72127
|
+
"findings",
|
|
72128
|
+
"http_request",
|
|
72129
|
+
"todo_write"
|
|
72130
|
+
]);
|
|
72131
|
+
FINDINGS_ACTIONS = /* @__PURE__ */ new Set(["add", "update", "list", "report"]);
|
|
71872
72132
|
truncateBridgeSummary = (value, max = 180) => value.length > max ? `${value.slice(0, max)}...` : value;
|
|
71873
72133
|
isWebSessionProxyModel = (modelName) => modelName === "model-deepseek-proxy" || modelName === "model-kimi-proxy";
|
|
71874
72134
|
proxyToolProtocolPolicy = () => `
|
|
@@ -71876,21 +72136,24 @@ var init_agent = __esm({
|
|
|
71876
72136
|
<web_session_tool_protocol>
|
|
71877
72137
|
ATIVO NESTA SESS\xC3O: o modelo atual roda por um proxy de sess\xE3o web e N\xC3O tem function-calling nativo. Para EXECUTAR qualquer a\xE7\xE3o voc\xEA n\xE3o chama ferramentas de fun\xE7\xE3o \u2014 voc\xEA EMITE um \xFAnico bloco de c\xF3digo \`\`\`json com um array de chamadas, e o runtime do CLI executa de verdade e te devolve os resultados como uma mensagem do usu\xE1rio. Repita o ciclo at\xE9 concluir.
|
|
71878
72138
|
|
|
71879
|
-
Formato EXATO (sempre um array, mesmo para uma \xFAnica a\xE7\xE3o):
|
|
72139
|
+
Formato EXATO (sempre um array, mesmo para uma \xFAnica a\xE7\xE3o). Voc\xEA pode SEMPRE incluir "tool": "<nome>" para deixar expl\xEDcito qual ferramenta chamar (recomendado para findings/http_request/todo_write):
|
|
71880
72140
|
- Terminal: {"brief": "uma frase", "command": "<comando shell>", "timeout": 60, "is_background": false}
|
|
71881
72141
|
- Arquivo: {"action": "write"|"edit"|"append"|"read", "path": "<caminho absoluto>", "brief": "uma frase", "text": "<conte\xFAdo completo para write/append>"}
|
|
72142
|
+
- HTTP (Repeater/Intruder): {"tool": "http_request", "brief": "uma frase", "url": "https://alvo/...", "method": "GET", "headers": {"X":"y"}, "body": "...", "fuzz": ["a","b"]}
|
|
72143
|
+
- Findings (mem\xF3ria estruturada de vulns): {"tool": "findings", "action": "add"|"update"|"list"|"report", "brief": "uma frase", "title": "...", "severity": "critical"|"high"|"medium"|"low"|"info", "evidence": "...", "id": "F-001"}
|
|
72144
|
+
- Tarefas (todo): {"tool": "todo_write", "merge": true, "todos": [{"id": "1", "content": "...", "status": "pending"|"in_progress"|"completed"}]}
|
|
71882
72145
|
|
|
71883
72146
|
Regras:
|
|
71884
72147
|
1. Para agir, a resposta DEVE conter um bloco \`\`\`json com o array. Esse bloco ser\xE1 consumido pelo CLI como chamada interna e n\xE3o deve ser tratado como texto de terminal.
|
|
71885
72148
|
2. UM bloco por turno; aguarde os resultados antes de emitir o pr\xF3ximo.
|
|
71886
|
-
3. Cada entrada do array deve mapear para uma a\xE7\xE3o (
|
|
72149
|
+
3. Cada entrada do array deve mapear para uma a\xE7\xE3o: terminal ("command"), arquivo ("action"+"path"), ou outra ferramenta via "tool" ("http_request" com "url", "findings" com "action" add/update/list/report, "todo_write" com "todos"). N\xE3o misture com dados que n\xE3o s\xE3o a\xE7\xF5es.
|
|
71887
72150
|
4. Crie/edite scripts e c\xF3digo-fonte SOMENTE via {"action":"write"} / {"action":"edit"} \u2014 nunca por redirecionamento de shell (echo >, cat <<EOF, tee, Out-File...).
|
|
71888
72151
|
5. Durante a\xE7\xF5es, coloque o conte\xFAdo operacional apenas dentro do JSON. Fora do JSON use no m\xE1ximo uma frase curta.
|
|
71889
72152
|
6. Quando a tarefa estiver conclu\xEDda, responda em texto normal SEM bloco json.
|
|
71890
72153
|
</web_session_tool_protocol>`;
|
|
71891
72154
|
SYSTEM_PROMPT_SOURCE = "lib/system-prompt.ts";
|
|
71892
72155
|
REQUIRED_SYSTEM_PROMPT_MARKERS = [
|
|
71893
|
-
"You are
|
|
72156
|
+
"You are clawfast",
|
|
71894
72157
|
"<tool_calling>",
|
|
71895
72158
|
"<anti_hallucination>",
|
|
71896
72159
|
"<iterative_script_repair>",
|
|
@@ -71944,8 +72207,8 @@ ABSOLUTE RULE FOR THIS LOCAL CLI SESSION \u2014 this overrides any default langu
|
|
|
71944
72207
|
6. If you already began a non-Python approach in this task, STOP now: delete the stray .js / package.json / node_modules artifacts with the shell tool, then rewrite the work in Python following the rules above.
|
|
71945
72208
|
</cli_python_only_policy>`;
|
|
71946
72209
|
pythonOnlyPolicy = () => {
|
|
71947
|
-
const
|
|
71948
|
-
if (
|
|
72210
|
+
const flag2 = process.env.clawfast_CLI_PYTHON_ONLY?.trim().toLowerCase();
|
|
72211
|
+
if (flag2 === "off" || flag2 === "0" || flag2 === "false" || flag2 === "no") {
|
|
71949
72212
|
return "";
|
|
71950
72213
|
}
|
|
71951
72214
|
return CLI_PYTHON_ONLY_POLICY;
|
|
@@ -71988,7 +72251,7 @@ ABSOLUTE RULE FOR THIS LOCAL CLI SESSION \u2014 applies to EVERY model and EVERY
|
|
|
71988
72251
|
|
|
71989
72252
|
You have two native tools for hands-on web testing \u2014 PREFER them over hand-rolled one-off scripts for interactive probing:
|
|
71990
72253
|
|
|
71991
|
-
1. http_request \u2014 a Repeater/Intruder. Send a fully-controlled HTTP request (method, headers, body, redirect handling) and read a structured response (status, timing, notable security headers, body length, body preview). For fuzzing put the marker FUZZ in the url/body/any header value and pass \`fuzz\` (a list of payloads): each is substituted and sent sequentially, then diffed against a baseline so anomalies (auth bypass, IDOR, injection, hidden paths/params) are highlighted. OPSEC: use throttle_ms/jitter_ms (or env
|
|
72254
|
+
1. http_request \u2014 a Repeater/Intruder. Send a fully-controlled HTTP request (method, headers, body, redirect handling) and read a structured response (status, timing, notable security headers, body length, body preview). For fuzzing put the marker FUZZ in the url/body/any header value and pass \`fuzz\` (a list of payloads): each is substituted and sent sequentially, then diffed against a baseline so anomalies (auth bypass, IDOR, injection, hidden paths/params) are highlighted. OPSEC: use throttle_ms/jitter_ms (or env clawfast_HTTP_THROTTLE_MS/clawfast_HTTP_JITTER_MS) on noisy fuzzing. Every request is scope-gated by ${workdir}/recon/scope.txt (loopback is always allowed); add authorized targets there first.
|
|
71992
72255
|
|
|
71993
72256
|
2. findings \u2014 structured engagement memory. Record EVERY vulnerability you discover (action add: title+severity required; include evidence, target, url, param, impact, remediation). Flip status to "confirmed" with update once you have proof; "false_positive" if disproved. At the end, action report writes a clean Markdown report grouped by severity to ${workdir}/findings/report.md.
|
|
71994
72257
|
|
|
@@ -72038,11 +72301,11 @@ Your skills are INTERNAL to you and live ONLY in ${skillsDir()}. The skills curr
|
|
|
72038
72301
|
};
|
|
72039
72302
|
CLI_PERSONALITIES = ["cynic", "robot", "listener", "nerd"];
|
|
72040
72303
|
buildCliUserCustomization = () => {
|
|
72041
|
-
const nickname = process.env.
|
|
72042
|
-
const occupation = process.env.
|
|
72043
|
-
const traits = process.env.
|
|
72044
|
-
const additionalInfo = process.env.
|
|
72045
|
-
const personalityRaw = process.env.
|
|
72304
|
+
const nickname = process.env.clawfast_CLI_NICKNAME?.trim();
|
|
72305
|
+
const occupation = process.env.clawfast_CLI_OCCUPATION?.trim();
|
|
72306
|
+
const traits = process.env.clawfast_CLI_TRAITS?.trim();
|
|
72307
|
+
const additionalInfo = process.env.clawfast_CLI_ADDITIONAL_INFO?.trim();
|
|
72308
|
+
const personalityRaw = process.env.clawfast_CLI_PERSONALITY?.trim().toLowerCase();
|
|
72046
72309
|
const personality = CLI_PERSONALITIES.find((p) => p === personalityRaw);
|
|
72047
72310
|
if (!nickname && !occupation && !traits && !additionalInfo && !personality) {
|
|
72048
72311
|
return null;
|
|
@@ -72058,7 +72321,7 @@ Your skills are INTERNAL to you and live ONLY in ${skillsDir()}. The skills curr
|
|
|
72058
72321
|
};
|
|
72059
72322
|
};
|
|
72060
72323
|
buildCliNotesSection = () => {
|
|
72061
|
-
const raw = process.env.
|
|
72324
|
+
const raw = process.env.clawfast_CLI_NOTES?.trim();
|
|
72062
72325
|
if (!raw) return "";
|
|
72063
72326
|
const notes = raw.split("\n").map((line) => line.trim()).filter(Boolean).map((content, idx) => ({
|
|
72064
72327
|
note_id: `cli-note-${idx + 1}`,
|
|
@@ -72074,17 +72337,17 @@ Your skills are INTERNAL to you and live ONLY in ${skillsDir()}. The skills curr
|
|
|
72074
72337
|
${section}` : "";
|
|
72075
72338
|
};
|
|
72076
72339
|
cliGuardrailsConfig = () => {
|
|
72077
|
-
const mode = process.env.
|
|
72078
|
-
const legacyDisable = process.env.
|
|
72340
|
+
const mode = process.env.clawfast_CLI_GUARDRAILS?.trim().toLowerCase();
|
|
72341
|
+
const legacyDisable = process.env.clawfast_CLI_DISABLE_GUARDRAILS?.trim().toLowerCase();
|
|
72079
72342
|
if (mode === "off" || mode === "false" || mode === "0" || legacyDisable === "true" || legacyDisable === "1") {
|
|
72080
72343
|
return DEFAULT_GUARDRAILS.map((guardrail) => `${guardrail.id}:false`).join(
|
|
72081
72344
|
"\n"
|
|
72082
72345
|
);
|
|
72083
72346
|
}
|
|
72084
|
-
return process.env.
|
|
72347
|
+
return process.env.clawfast_CLI_GUARDRAILS_CONFIG || void 0;
|
|
72085
72348
|
};
|
|
72086
72349
|
maybeDumpSystemPrompt = async (system, workdir) => {
|
|
72087
|
-
if (!envFlagEnabled(process.env.
|
|
72350
|
+
if (!envFlagEnabled(process.env.clawfast_CLI_DUMP_SYSTEM_PROMPT)) {
|
|
72088
72351
|
return null;
|
|
72089
72352
|
}
|
|
72090
72353
|
await (0, import_promises2.mkdir)(workdir, { recursive: true });
|
|
@@ -72118,14 +72381,16 @@ var interactive_input_exports = {};
|
|
|
72118
72381
|
__export(interactive_input_exports, {
|
|
72119
72382
|
InteractiveInput: () => InteractiveInput
|
|
72120
72383
|
});
|
|
72121
|
-
var import_node_readline3, import_node_os5, C4, out2, cols, truncate4, InteractiveInput;
|
|
72384
|
+
var import_node_readline3, import_node_os5, C4, frame2, out2, cols, truncate4, InteractiveInput;
|
|
72122
72385
|
var init_interactive_input = __esm({
|
|
72123
72386
|
"src/interactive-input.ts"() {
|
|
72124
72387
|
"use strict";
|
|
72125
72388
|
import_node_readline3 = __toESM(require("node:readline"));
|
|
72126
72389
|
import_node_os5 = __toESM(require("node:os"));
|
|
72127
72390
|
init_ui();
|
|
72391
|
+
init_theme();
|
|
72128
72392
|
C4 = ui.C;
|
|
72393
|
+
frame2 = (s) => paint(s, PAL.frame);
|
|
72129
72394
|
out2 = (s) => process.stdout.write(s);
|
|
72130
72395
|
cols = () => process.stdout.columns || 80;
|
|
72131
72396
|
truncate4 = (s, n) => vlen(s) > n ? [...s].slice(0, Math.max(0, n - 1)).join("") + "\u2026" : s;
|
|
@@ -72242,10 +72507,14 @@ var init_interactive_input = __esm({
|
|
|
72242
72507
|
* forwarded to an interactive command's stdin. No box/dropdown — just echoes
|
|
72243
72508
|
* and collects until Enter. Ctrl+C invokes `onSigint`.
|
|
72244
72509
|
*/
|
|
72245
|
-
beginTurn(onLine, onSigint) {
|
|
72510
|
+
beginTurn(onLine, onSigint, isActive) {
|
|
72246
72511
|
let buf = "";
|
|
72247
72512
|
this.onKey = (str, key) => {
|
|
72248
72513
|
if (key.ctrl && key.name === "c") return onSigint();
|
|
72514
|
+
if (!isActive()) {
|
|
72515
|
+
buf = "";
|
|
72516
|
+
return;
|
|
72517
|
+
}
|
|
72249
72518
|
if (key.name === "return") {
|
|
72250
72519
|
out2("\r\n");
|
|
72251
72520
|
const line = this.paste.expand(buf);
|
|
@@ -72447,10 +72716,10 @@ var init_interactive_input = __esm({
|
|
|
72447
72716
|
const label = " \u2709 mensagem ";
|
|
72448
72717
|
const boxW = Math.min(54, Math.max(28, width - 2));
|
|
72449
72718
|
const topFill = "\u2500".repeat(Math.max(0, boxW - vlen(label) - 3));
|
|
72450
|
-
const top =
|
|
72719
|
+
const top = frame2("\u256D\u2500") + gradient(label, { bold: true }) + frame2(topFill + "\u256E");
|
|
72451
72720
|
const id = `${user}\u327F${host} \xB7 ${shortCwd()}`;
|
|
72452
|
-
const idLine =
|
|
72453
|
-
const prefix =
|
|
72721
|
+
const idLine = frame2("\u2502 ") + `${C4.dim}${truncate4(id, boxW - 4)}${C4.reset}`;
|
|
72722
|
+
const prefix = frame2("\u2570\u2500") + gradient("\u276F", { bold: true }) + " ";
|
|
72454
72723
|
const prefixLen = 4;
|
|
72455
72724
|
const avail = Math.max(8, width - prefixLen - 1);
|
|
72456
72725
|
let start = 0;
|
|
@@ -72465,20 +72734,20 @@ var init_interactive_input = __esm({
|
|
|
72465
72734
|
const ddHint = "\u2191\u2193 navega \xB7 Enter roda \xB7 Tab completa";
|
|
72466
72735
|
const nameW = Math.max(...items.map((i) => vlen(i.name)));
|
|
72467
72736
|
const ddInner = Math.min(boxW, Math.max(24, width - 4));
|
|
72468
|
-
lines.push(
|
|
72737
|
+
lines.push(` ${frame2("\u256D" + "\u2500".repeat(ddInner) + "\u256E")}`);
|
|
72469
72738
|
items.forEach((it, i) => {
|
|
72470
72739
|
const active2 = i === this.ddSel;
|
|
72471
|
-
const marker25 = active2 ?
|
|
72472
|
-
const name25 =
|
|
72740
|
+
const marker25 = active2 ? gradient("\u25B8 ", { bold: true }) : `${C4.dim} `;
|
|
72741
|
+
const name25 = active2 ? gradient(it.name, { bold: true }) : `${C4.cyan}${it.name}`;
|
|
72473
72742
|
const pad = " ".repeat(Math.max(1, nameW - vlen(it.name) + 2));
|
|
72474
72743
|
const descRoom = ddInner - 2 - nameW - 2;
|
|
72475
72744
|
const desc = `${C4.dim}${truncate4(it.desc, Math.max(4, descRoom))}`;
|
|
72476
72745
|
const body = `${marker25}${name25}${C4.reset}${pad}${desc}${C4.reset}`;
|
|
72477
72746
|
const padded = body + " ".repeat(Math.max(0, ddInner - 1 - vlen(body)));
|
|
72478
|
-
lines.push(
|
|
72747
|
+
lines.push(` ${frame2("\u2502")}${C4.reset}${padded}${frame2("\u2502")}`);
|
|
72479
72748
|
});
|
|
72480
72749
|
lines.push(
|
|
72481
|
-
|
|
72750
|
+
` ${frame2("\u2570" + "\u2500".repeat(ddInner) + "\u256F")} ${C4.dim}${ddHint}${C4.reset}`
|
|
72482
72751
|
);
|
|
72483
72752
|
} else {
|
|
72484
72753
|
this.ddSel = 0;
|
|
@@ -72490,7 +72759,7 @@ var init_interactive_input = __esm({
|
|
|
72490
72759
|
renderCompact() {
|
|
72491
72760
|
const width = cols();
|
|
72492
72761
|
const label = this.promptLabel ?? "";
|
|
72493
|
-
const prefix = `${
|
|
72762
|
+
const prefix = `${gradient(label, { bold: true })} ${gradient("\u276F", { bold: true })} `;
|
|
72494
72763
|
const prefixLen = vlen(`${label} \u276F `);
|
|
72495
72764
|
const avail = Math.max(8, width - prefixLen - 1);
|
|
72496
72765
|
let start = 0;
|
|
@@ -72530,16 +72799,16 @@ var init_interactive_input = __esm({
|
|
|
72530
72799
|
Math.max(labelW + 8, title.length + 4)
|
|
72531
72800
|
);
|
|
72532
72801
|
const lines = [];
|
|
72533
|
-
lines.push(`${
|
|
72802
|
+
lines.push(`${frame2("\u256D\u2500\u25C6 ")}${gradient(title, { bold: true })}`);
|
|
72534
72803
|
items.forEach((it, i) => {
|
|
72535
72804
|
const active2 = i === sel;
|
|
72536
|
-
const marker25 = active2 ?
|
|
72537
|
-
const text2 = active2 ?
|
|
72805
|
+
const marker25 = active2 ? gradient("\u276F ", { bold: true }) : `${C4.dim} `;
|
|
72806
|
+
const text2 = active2 ? gradient(it.label, { bold: true }) : `${C4.reset}${it.label}`;
|
|
72538
72807
|
const hint = it.hint ? ` ${C4.dim}${truncate4(it.hint, Math.max(6, inner - labelW - 6))}${C4.reset}` : "";
|
|
72539
|
-
lines.push(`${
|
|
72808
|
+
lines.push(`${frame2("\u2502 ")}${C4.reset}${marker25}${text2}${C4.reset}${hint}`);
|
|
72540
72809
|
});
|
|
72541
72810
|
lines.push(
|
|
72542
|
-
`${
|
|
72811
|
+
`${frame2("\u2570\u2500")} ${C4.dim}\u2191\u2193 navega \xB7 Enter seleciona \xB7 Esc cancela${C4.reset}`
|
|
72543
72812
|
);
|
|
72544
72813
|
this.paintBlock(lines);
|
|
72545
72814
|
}
|
|
@@ -72567,7 +72836,7 @@ var init_interactive_input = __esm({
|
|
|
72567
72836
|
var index_exports = {};
|
|
72568
72837
|
async function main() {
|
|
72569
72838
|
const { createAgent: createAgent2 } = await Promise.resolve().then(() => (init_agent(), agent_exports));
|
|
72570
|
-
const {
|
|
72839
|
+
const { playBanner: playBanner2, playAgentHeader: playAgentHeader2, ui: ui2 } = await Promise.resolve().then(() => (init_ui(), ui_exports));
|
|
72571
72840
|
const { InteractiveInput: InteractiveInput2 } = await Promise.resolve().then(() => (init_interactive_input(), interactive_input_exports));
|
|
72572
72841
|
const C5 = ui2.C;
|
|
72573
72842
|
if (!bootQuiet) {
|
|
@@ -72578,7 +72847,11 @@ async function main() {
|
|
|
72578
72847
|
const sys = agent.getSystemPrompt();
|
|
72579
72848
|
stopBootSpinner();
|
|
72580
72849
|
const version3 = clawfastVersion();
|
|
72581
|
-
|
|
72850
|
+
void sys;
|
|
72851
|
+
await playBanner2({
|
|
72852
|
+
version: version3,
|
|
72853
|
+
providers: configuredModelProviders.length
|
|
72854
|
+
});
|
|
72582
72855
|
const updateNotice = getUpdateNotice(version3);
|
|
72583
72856
|
if (updateNotice) {
|
|
72584
72857
|
process.stdout.write(`${C5.yellow}\u2191 ${updateNotice}${C5.reset}
|
|
@@ -72998,7 +73271,8 @@ ${renderNews(clawfastVersion())}
|
|
|
72998
73271
|
return;
|
|
72999
73272
|
}
|
|
73000
73273
|
if (!input) return;
|
|
73001
|
-
process.stdout.write("\n"
|
|
73274
|
+
process.stdout.write("\n");
|
|
73275
|
+
await playAgentHeader2();
|
|
73002
73276
|
activeAbort = new AbortController();
|
|
73003
73277
|
turnActive = true;
|
|
73004
73278
|
inputUI.beginTurn(
|
|
@@ -73020,7 +73294,10 @@ ${C5.dim}interrompido \u2014 Ctrl+C de novo para fechar${C5.reset}
|
|
|
73020
73294
|
);
|
|
73021
73295
|
}
|
|
73022
73296
|
armExit();
|
|
73023
|
-
}
|
|
73297
|
+
},
|
|
73298
|
+
// Only echo/forward typed input while a foreground command is waiting on
|
|
73299
|
+
// stdin; otherwise type-ahead during the model's reply is dropped silently.
|
|
73300
|
+
() => agent.isRunningCommand()
|
|
73024
73301
|
);
|
|
73025
73302
|
try {
|
|
73026
73303
|
await agent.send(input, activeAbort.signal);
|
|
@@ -73139,6 +73416,7 @@ async function handleSubcommand() {
|
|
|
73139
73416
|
process.stdout.write(
|
|
73140
73417
|
`
|
|
73141
73418
|
\x1B[92m\x1B[1mSeja bem vindo ao submundo.\x1B[0m
|
|
73419
|
+
\x1B[2mRode \x1B[0m\x1B[36mclawfast\x1B[0m\x1B[2m para usar a nova versao.\x1B[0m
|
|
73142
73420
|
`
|
|
73143
73421
|
);
|
|
73144
73422
|
} else {
|