mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-10 13:31:38 +00:00
Bump the three @opentui pins (core/keymap/solid) 0.4.0 -> 0.4.1 + lockfile. The headline upstream change is native-yoga (#1126); per the locked spec decision D11 this is NOT a memory-floor lever at typical sizes, and a fresh bench on this branch confirms it — OpenTUI capped VmHWM is within run-to-run noise across mem50/100/300 (0.4.0: 193/200/220 vs 0.4.1: 192/218/217 MB). The value is tail-session layout wins + upstream alignment, not the floor. D14 (ffiSafe re-verify): the FFI signatures ffiSafe.ts clamps (OptimizedBuffer fillRect/drawText/setCell/setCellWithAlphaBlending/drawChar + TextBufferView setViewport) are byte-identical across 0.4.0->0.4.1 (still u32, still crash on negatives under node:ffi), so the shim stays as-is and remains load-bearing. Verified live: scrolled a 300-msg transcript with syntax-highlighted code + tool cards past the viewport top (the negative-y fillRect trigger) on 0.4.1 — no ERR_INVALID_ARG_VALUE loop, clean render. Also pick up openConsoleOnError:false (public createCliRenderer option): stops core's uncaught-error handler from calling the ALLOCATING console.show(), which exit-7-masks the original error under native-handle exhaustion (the bench mem3000 postmortem). guardRendererErrorHandlers stays as belt-and-suspenders. Gate: npm run check OK (768 tests). Determinism gate green both engines.
45 lines
1.3 KiB
JSON
45 lines
1.3 KiB
JSON
{
|
|
"name": "@hermes/ui-opentui",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=26.3"
|
|
},
|
|
"description": "Native OpenTUI engine for Hermes (Solid + Effect-at-boundary, from scratch). Ink (ui-tui/) stays the shipping default.",
|
|
"scripts": {
|
|
"type-check": "tsc --noEmit",
|
|
"lint": "eslint .",
|
|
"lint:fix": "eslint . --fix",
|
|
"fmt": "prettier --write src",
|
|
"fix": "prettier --write src && eslint . --fix",
|
|
"build": "node scripts/build.mjs",
|
|
"start": "node --experimental-ffi --no-warnings dist/main.js",
|
|
"test": "vitest run",
|
|
"check": "bash scripts/check.sh",
|
|
"dev": "node scripts/build.mjs && node --experimental-ffi --no-warnings dist/main.js"
|
|
},
|
|
"dependencies": {
|
|
"@opentui/core": "0.4.1",
|
|
"@opentui/keymap": "0.4.1",
|
|
"@opentui/solid": "0.4.1",
|
|
"effect": "4.0.0-beta.78",
|
|
"fuzzysort": "^3.1.0",
|
|
"solid-js": "1.9.12"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.29.7",
|
|
"@babel/preset-typescript": "^7.29.7",
|
|
"@effect/vitest": "^4.0.0-beta.78",
|
|
"@eslint/js": "^9",
|
|
"@types/node": "^24",
|
|
"babel-preset-solid": "^1.9.12",
|
|
"esbuild": "^0.28.0",
|
|
"eslint": "^9",
|
|
"eslint-plugin-unused-imports": "^4",
|
|
"prettier": "^3",
|
|
"typescript": "^5",
|
|
"typescript-eslint": "^8",
|
|
"vitest": "^4.1.8"
|
|
}
|
|
}
|