diff --git a/README.md b/README.md index 1ed1166..2d7ea8e 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ The design keeps rendering behind an adapter so future native renderers can be a ## Quick Start -`agent-tty` requires Node `>=24 <26`. +`agent-tty` requires Node `>=24 <27`. Renderer-backed screenshots and WebM export also require a discoverable Playwright Chromium install. ```bash diff --git a/aube-lock.yaml b/aube-lock.yaml index 9fdd890..534e50e 100644 --- a/aube-lock.yaml +++ b/aube-lock.yaml @@ -250,8 +250,8 @@ time: picocolors@1.1.1: 2024-10-16T18:20:03.921Z picomatch@4.0.4: 2026-03-23T20:39:47.960Z pkg-types@2.3.1: 2026-04-27T10:24:15.497Z - playwright-core@1.58.2: 2026-02-06T16:42:47.596Z - playwright@1.58.2: 2026-02-06T16:42:40.029Z + playwright-core@1.60.0: 2026-05-11T19:09:40.047Z + playwright@1.60.0: 2026-05-11T19:09:33.114Z postcss@8.5.14: 2026-05-04T16:43:35.284Z powershell-utils@0.1.0: 2025-11-15T08:10:24.411Z powershell-utils@0.2.0: 2026-01-25T03:39:53.218Z @@ -339,8 +339,8 @@ importers: specifier: 1.1.0 version: 1.1.0 playwright: - specifier: 1.58.2 - version: 1.58.2 + specifier: 1.60.0 + version: 1.60.0 ulid: specifier: 3.0.2 version: 3.0.2 @@ -377,7 +377,7 @@ importers: version: 0.22.1 release-it: specifier: 20.0.1 - version: 20.0.1 + version: 20.0.1(@octokit/core@7.0.6)(@types/node@25.5.0)(picomatch@4.0.4)(quickjs-wasi@0.0.1) rimraf: specifier: 6.1.3 version: 6.1.3 @@ -1710,13 +1710,13 @@ packages: pkg-types@2.3.1: resolution: {integrity: sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==} - playwright-core@1.58.2: - resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} + playwright-core@1.60.0: + resolution: {integrity: sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==} engines: {node: '>=18'} hasBin: true - playwright@1.58.2: - resolution: {integrity: sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==} + playwright@1.60.0: + resolution: {integrity: sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==} engines: {node: '>=18'} hasBin: true @@ -2326,7 +2326,7 @@ snapshots: json-with-bigint: 3.5.8 universal-user-agent: 7.0.3 - '@octokit/rest@22.0.1': + '@octokit/rest@22.0.1(@octokit/core@7.0.6)': dependencies: '@octokit/core': 7.0.6 '@octokit/plugin-paginate-rest': 14.0.0(@octokit/core@7.0.6) @@ -2934,7 +2934,7 @@ snapshots: '@oxlint/binding-win32-arm64-msvc': 1.62.0 '@oxlint/binding-win32-x64-msvc': 1.62.0 - pac-proxy-agent@8.0.0: + pac-proxy-agent@8.0.0(quickjs-wasi@0.0.1): dependencies: agent-base: 8.0.0 debug: 4.4.3 @@ -2981,11 +2981,11 @@ snapshots: exsolve: 1.0.8 pathe: 2.0.3 - playwright-core@1.58.2: {} + playwright-core@1.60.0: {} - playwright@1.58.2: + playwright@1.60.0: dependencies: - playwright-core: 1.58.2 + playwright-core: 1.60.0 optionalDependencies: fsevents: 2.3.2 @@ -3001,14 +3001,14 @@ snapshots: protocols@2.0.2: {} - proxy-agent@7.0.0: + proxy-agent@7.0.0(quickjs-wasi@0.0.1): dependencies: agent-base: 8.0.0 debug: 4.4.3 http-proxy-agent: 8.0.0 https-proxy-agent: 8.0.0 lru-cache: 7.18.3 - pac-proxy-agent: 8.0.0 + pac-proxy-agent: 8.0.0(quickjs-wasi@0.0.1) proxy-from-env: 1.1.0 socks-proxy-agent: 9.0.0 @@ -3025,10 +3025,10 @@ snapshots: readdirp@5.0.0: {} - release-it@20.0.1: + release-it@20.0.1(@octokit/core@7.0.6)(@types/node@25.5.0)(picomatch@4.0.4)(quickjs-wasi@0.0.1): dependencies: '@inquirer/prompts': 8.4.2(@types/node@25.5.0) - '@octokit/rest': 22.0.1 + '@octokit/rest': 22.0.1(@octokit/core@7.0.6) '@phun-ky/typeof': 2.0.3 async-retry: 1.3.3 c12: 3.3.3 @@ -3043,9 +3043,9 @@ snapshots: open: 11.0.0 ora: 9.3.0 os-name: 7.0.0 - proxy-agent: 7.0.0 + proxy-agent: 7.0.0(quickjs-wasi@0.0.1) semver: 7.7.4 - tinyglobby: 0.2.15 + tinyglobby: 0.2.15(picomatch@4.0.4) undici: 7.24.5 url-join: 5.0.0 wildcard-match: 5.1.4 @@ -3126,12 +3126,12 @@ snapshots: tinyexec@1.1.2: {} - tinyglobby@0.2.15: + tinyglobby@0.2.15(picomatch@4.0.4): dependencies: fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 - tinyglobby@0.2.16: + tinyglobby@0.2.16(picomatch@4.0.4): dependencies: fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 @@ -3176,7 +3176,7 @@ snapshots: picomatch: 4.0.4 postcss: 8.5.14 rolldown: 1.0.0-rc.18 - tinyglobby: 0.2.16 + tinyglobby: 0.2.16(picomatch@4.0.4) tsx: 4.21.0 yaml: 2.8.4 optionalDependencies: @@ -3201,7 +3201,7 @@ snapshots: std-env: 4.1.0 tinybench: 2.9.0 tinyexec: 1.1.2 - tinyglobby: 0.2.15 + tinyglobby: 0.2.15(picomatch@4.0.4) tinyrainbow: 3.1.0 vite: 8.0.11(@types/node@25.5.0)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.21.0)(yaml@2.8.4) why-is-node-running: 2.3.0 diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 8fa9666..9936b0a 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -1,6 +1,6 @@ # Installation -`agent-tty` requires Node `>=24 <26`. +`agent-tty` requires Node `>=24 <27`. The recommended install path is the npm package `agent-tty`. GitHub Release tarballs are the registry-independent fallback, and direct git dependency installs remain best-effort because they build from source. diff --git a/mise.lock b/mise.lock index dd1b348..868c9fd 100644 --- a/mise.lock +++ b/mise.lock @@ -115,36 +115,36 @@ url = "https://github.com/jdx/communique/releases/download/v1.1.3/communique-x86 url_api = "https://api.github.com/repos/jdx/communique/releases/assets/413755231" [[tools.node]] -version = "25.9.0" +version = "26.1.0" backend = "core:node" [tools.node."platforms.linux-arm64"] -checksum = "sha256:8fb4283301b8c720fc9f18bffff0f659e72cc14d0cf207a3bb411808aaa73a57" -url = "https://nodejs.org/dist/v25.9.0/node-v25.9.0-linux-arm64.tar.gz" +checksum = "sha256:fcb4c339eef70c909cae72091008a6497278e2d0fcd221c0653068cf4ea4f0c7" +url = "https://nodejs.org/dist/v26.1.0/node-v26.1.0-linux-arm64.tar.gz" [tools.node."platforms.linux-arm64-musl"] -checksum = "sha256:97f6fe125faa51f84a7bb600d0cd7aefcfaaa0e75a5f49a7c61c3df91d12d535" -url = "https://unofficial-builds.nodejs.org/download/release/v25.9.0/node-v25.9.0-linux-arm64-musl.tar.gz" +checksum = "sha256:7ced1d983bbb9245c97dbc7de329663da49bd88aca6f7baaed9baf2f6fac7d33" +url = "https://unofficial-builds.nodejs.org/download/release/v26.1.0/node-v26.1.0-linux-arm64-musl.tar.gz" [tools.node."platforms.linux-x64"] -checksum = "sha256:134e55b2408448a219760fe04dc44d6851f9de8a79549021ffd870e9082d9e7b" -url = "https://nodejs.org/dist/v25.9.0/node-v25.9.0-linux-x64.tar.gz" +checksum = "sha256:62d555c329e05e3625109f2e3a8b5195b368d5ef38266292469d32f63cd98ffd" +url = "https://nodejs.org/dist/v26.1.0/node-v26.1.0-linux-x64.tar.gz" [tools.node."platforms.linux-x64-musl"] -checksum = "sha256:1ac44af012be6bc17f1e3723edbf12897c0baeae5d1dc75b9f97d71413e4c8f5" -url = "https://unofficial-builds.nodejs.org/download/release/v25.9.0/node-v25.9.0-linux-x64-musl.tar.gz" +checksum = "sha256:e302e820cea1007dfe68f5faaa23c8ed5a7099ad48cf068d6debf3d4958faaef" +url = "https://unofficial-builds.nodejs.org/download/release/v26.1.0/node-v26.1.0-linux-x64-musl.tar.gz" [tools.node."platforms.macos-arm64"] -checksum = "sha256:e479f3c469d3d9303a44f00a8ea37a3788395d171bb8059c48a4bbbd2e371b59" -url = "https://nodejs.org/dist/v25.9.0/node-v25.9.0-darwin-arm64.tar.gz" +checksum = "sha256:91063f665c2f5d6e69e4f8fcb66d3d476bc2785ace82267274bf4da789985ceb" +url = "https://nodejs.org/dist/v26.1.0/node-v26.1.0-darwin-arm64.tar.gz" [tools.node."platforms.macos-x64"] -checksum = "sha256:7d737b53ce191142bfa1c17cfa5b070d96e84eebf76b8dd06d84981cbdc3f7e3" -url = "https://nodejs.org/dist/v25.9.0/node-v25.9.0-darwin-x64.tar.gz" +checksum = "sha256:33519b28a352de668ab0a2a64366db032a45cb629d5353f86e4576e2780f4fcf" +url = "https://nodejs.org/dist/v26.1.0/node-v26.1.0-darwin-x64.tar.gz" [tools.node."platforms.windows-x64"] -checksum = "sha256:929552b8305effac843ba7b4270c437aefb702fc3fbd73fcd1bffd35d4ac284e" -url = "https://nodejs.org/dist/v25.9.0/node-v25.9.0-win-x64.zip" +checksum = "sha256:089a02c4c687451c9f0b7f1bfd252dae85a7ba27df0295a14096bdcc956fdc92" +url = "https://nodejs.org/dist/v26.1.0/node-v26.1.0-win-x64.zip" [[tools.python]] version = "3.14.5" diff --git a/mise.toml b/mise.toml index 8c1e67b..cfd30a2 100644 --- a/mise.toml +++ b/mise.toml @@ -4,7 +4,7 @@ communique = "1.1.3" zizmor = "1.24.1" # CI installs with `mise install --locked`, so update mise.lock whenever tool # versions or supported CI platforms change. -node = "25" +node = "26" python = "3" aube = "1.10.4" diff --git a/package.json b/package.json index 500e3f4..6083ff7 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "type": "module", "packageManager": "aube@1.2.0", "engines": { - "node": ">=24.0.0 <26" + "node": ">=24.0.0 <27" }, "bin": { "agent-tty": "./dist/cli/main.js" @@ -84,7 +84,7 @@ "commander": "14.0.3", "ghostty-web": "0.4.0", "node-pty": "1.1.0", - "playwright": "1.58.2", + "playwright": "1.60.0", "ulid": "3.0.2", "zod": "4.3.6" }, diff --git a/test/setup-node-options.ts b/test/setup-node-options.ts new file mode 100644 index 0000000..2320e46 --- /dev/null +++ b/test/setup-node-options.ts @@ -0,0 +1,13 @@ +const NODE_OPTIONS_DISABLE_DEP0205 = '--disable-warning=DEP0205'; + +const existingNodeOptions = process.env.NODE_OPTIONS ?? ''; +const nodeOptions = existingNodeOptions + .split(/\s+/u) + .filter((option) => option.length > 0); + +if (!nodeOptions.includes(NODE_OPTIONS_DISABLE_DEP0205)) { + process.env.NODE_OPTIONS = [ + ...nodeOptions, + NODE_OPTIONS_DISABLE_DEP0205, + ].join(' '); +} diff --git a/vitest.config.ts b/vitest.config.ts index 6e94833..1069d10 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -4,6 +4,7 @@ export default defineConfig({ test: { environment: 'node', include: ['test/**/*.test.ts'], + setupFiles: ['test/setup-node-options.ts'], watch: false, }, });