@hasna/browser 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +533 -12
- package/dist/engines/tui.d.ts +4 -0
- package/dist/engines/tui.d.ts.map +1 -1
- package/dist/index.js +85 -2
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/mcp/index.js +526 -10
- package/dist/mcp/meta.d.ts.map +1 -1
- package/dist/mcp/sessions.d.ts.map +1 -1
- package/dist/mcp/tui.d.ts +3 -0
- package/dist/mcp/tui.d.ts.map +1 -0
- package/dist/server/index.js +85 -2
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -18362,6 +18362,52 @@ init_types();
|
|
|
18362
18362
|
import { execSync as execSync2, spawn as spawn2 } from "child_process";
|
|
18363
18363
|
var DEFAULT_TTYD_PORT_START = 7780;
|
|
18364
18364
|
var nextPort = DEFAULT_TTYD_PORT_START;
|
|
18365
|
+
var THEMES = {
|
|
18366
|
+
dark: {
|
|
18367
|
+
background: "#1e1e1e",
|
|
18368
|
+
foreground: "#d4d4d4",
|
|
18369
|
+
cursor: "#d4d4d4",
|
|
18370
|
+
selectionBackground: "#264f78",
|
|
18371
|
+
black: "#1e1e1e",
|
|
18372
|
+
red: "#f44747",
|
|
18373
|
+
green: "#6a9955",
|
|
18374
|
+
yellow: "#d7ba7d",
|
|
18375
|
+
blue: "#569cd6",
|
|
18376
|
+
magenta: "#c586c0",
|
|
18377
|
+
cyan: "#4ec9b0",
|
|
18378
|
+
white: "#d4d4d4",
|
|
18379
|
+
brightBlack: "#808080",
|
|
18380
|
+
brightRed: "#f44747",
|
|
18381
|
+
brightGreen: "#6a9955",
|
|
18382
|
+
brightYellow: "#d7ba7d",
|
|
18383
|
+
brightBlue: "#569cd6",
|
|
18384
|
+
brightMagenta: "#c586c0",
|
|
18385
|
+
brightCyan: "#4ec9b0",
|
|
18386
|
+
brightWhite: "#ffffff"
|
|
18387
|
+
},
|
|
18388
|
+
light: {
|
|
18389
|
+
background: "#ffffff",
|
|
18390
|
+
foreground: "#1e1e1e",
|
|
18391
|
+
cursor: "#1e1e1e",
|
|
18392
|
+
selectionBackground: "#add6ff",
|
|
18393
|
+
black: "#1e1e1e",
|
|
18394
|
+
red: "#cd3131",
|
|
18395
|
+
green: "#008000",
|
|
18396
|
+
yellow: "#795e26",
|
|
18397
|
+
blue: "#0451a5",
|
|
18398
|
+
magenta: "#af00db",
|
|
18399
|
+
cyan: "#0598bc",
|
|
18400
|
+
white: "#d4d4d4",
|
|
18401
|
+
brightBlack: "#808080",
|
|
18402
|
+
brightRed: "#cd3131",
|
|
18403
|
+
brightGreen: "#008000",
|
|
18404
|
+
brightYellow: "#795e26",
|
|
18405
|
+
brightBlue: "#0451a5",
|
|
18406
|
+
brightMagenta: "#af00db",
|
|
18407
|
+
brightCyan: "#0598bc",
|
|
18408
|
+
brightWhite: "#ffffff"
|
|
18409
|
+
}
|
|
18410
|
+
};
|
|
18365
18411
|
function isTuiAvailable() {
|
|
18366
18412
|
try {
|
|
18367
18413
|
execSync2("which ttyd", { stdio: "ignore" });
|
|
@@ -18419,7 +18465,42 @@ async function launchTui(command, options = {}) {
|
|
|
18419
18465
|
waitUntil: "domcontentloaded"
|
|
18420
18466
|
});
|
|
18421
18467
|
await page.waitForSelector(".xterm-screen", { timeout: 1e4 });
|
|
18422
|
-
|
|
18468
|
+
let resolvedTheme = "dark";
|
|
18469
|
+
const requestedTheme = options.theme ?? "system";
|
|
18470
|
+
if (requestedTheme === "light") {
|
|
18471
|
+
resolvedTheme = "light";
|
|
18472
|
+
} else if (requestedTheme === "dark") {
|
|
18473
|
+
resolvedTheme = "dark";
|
|
18474
|
+
} else {
|
|
18475
|
+
try {
|
|
18476
|
+
const result = execSync2("defaults read -g AppleInterfaceStyle 2>/dev/null", { encoding: "utf8" }).trim();
|
|
18477
|
+
resolvedTheme = result === "Dark" ? "dark" : "light";
|
|
18478
|
+
} catch {
|
|
18479
|
+
resolvedTheme = "light";
|
|
18480
|
+
}
|
|
18481
|
+
}
|
|
18482
|
+
const themeColors = THEMES[resolvedTheme];
|
|
18483
|
+
await page.evaluate((theme) => {
|
|
18484
|
+
const term = window.term ?? window.terminal;
|
|
18485
|
+
if (term?.options) {
|
|
18486
|
+
term.options.theme = theme;
|
|
18487
|
+
}
|
|
18488
|
+
document.body.style.backgroundColor = theme.background;
|
|
18489
|
+
const container = document.getElementById("terminal-container");
|
|
18490
|
+
if (container)
|
|
18491
|
+
container.style.backgroundColor = theme.background;
|
|
18492
|
+
const viewport2 = document.querySelector(".xterm-viewport");
|
|
18493
|
+
if (viewport2)
|
|
18494
|
+
viewport2.style.backgroundColor = theme.background;
|
|
18495
|
+
}, themeColors);
|
|
18496
|
+
if (options.fontSize) {
|
|
18497
|
+
await page.evaluate((size) => {
|
|
18498
|
+
const term = window.term ?? window.terminal;
|
|
18499
|
+
if (term?.options)
|
|
18500
|
+
term.options.fontSize = size;
|
|
18501
|
+
}, options.fontSize);
|
|
18502
|
+
}
|
|
18503
|
+
return { ttydProcess, port, browser, page, theme: resolvedTheme };
|
|
18423
18504
|
} catch (err) {
|
|
18424
18505
|
ttydProcess.kill();
|
|
18425
18506
|
throw err;
|
|
@@ -18842,7 +18923,9 @@ async function createSession2(opts = {}) {
|
|
|
18842
18923
|
const command = opts.startUrl ?? "bash";
|
|
18843
18924
|
const tuiSess = await launchTui(command, {
|
|
18844
18925
|
headless: opts.headless ?? true,
|
|
18845
|
-
viewport: opts.viewport
|
|
18926
|
+
viewport: opts.viewport,
|
|
18927
|
+
theme: opts.tuiTheme ?? "system",
|
|
18928
|
+
fontSize: opts.tuiFontSize
|
|
18846
18929
|
});
|
|
18847
18930
|
browser = tuiSess.browser;
|
|
18848
18931
|
page = tuiSess.page;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAW,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAA0F,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE/I,OAAO,EAAE,iBAAiB,EAAyB,MAAM,2BAA2B,CAAC;AAyBrF,QAAA,MAAM,IAAI,aAAqB,CAAC;AA2ChC,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAW,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAA0F,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE/I,OAAO,EAAE,iBAAiB,EAAyB,MAAM,2BAA2B,CAAC;AAyBrF,QAAA,MAAM,IAAI,aAAqB,CAAC;AA2ChC,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAmL3F;AAID,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAkBtD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAE7E;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAIjE;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAIlE;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBtE;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,aAAa,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,EAAE,CAE/F;AAED,wBAAgB,iBAAiB,IAAI,OAAO,EAAE,CAE7C;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKtD;AAED,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,CAAC;AAE/B,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,kBAE5C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,WAErD;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGxF;AAID,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAcpF;AAID,wBAAgB,iBAAiB,IAAI,mBAAmB,GAAG,IAAI,CAa9D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
|