Skip to content

v2.2.1

Choose a tag to compare

@github-actions github-actions released this 26 Oct 02:28
· 1 commit to main since this release

v2.2.1 — pty_start chạy được trở lại

Bản 2.2.1 sửa một lỗi khiến tool pty_start hỏng trên mọi máy. Không có thay đổi nào khác.

Lỗi

open2 is not a function. (In 'open2({ command: args.command, cwd: args.cwd, env: args.env })',
'open2' is undefined)

pty_start đọc bunPty.open rồi gọi open({ command, cwd, env }). Nhưng bun-pty bỏ open(options) từ 0.4 và xuất spawn(file, args, options). Bản đang cài (0.5.1) chỉ có Terminal và spawn — nên lời gọi luôn ném lỗi, ở mọi bản bun-pty hiện hành.

Đây là lỗi nhỏ về import, nhưng hậu quả lớn hơn thế: agent thấy shell không khả dụng, thử pty_start và nhận TypeError, rồi báo "session này không có shell" — và từ đó từ chối chạy git init, git commit, git push, docker build. Thực tế shell chưa hề bị ảnh hưởng.

Đã sửa

  • Chấp nhận cả hai kiểu API: spawn(file, args, options) khi có, open(options) làm nhánh dự phòng cho bản cũ; build không có cái nào thì báo lỗi kèm đúng lệnh npm i -g bun-pty@latest thay vì một TypeError không giải thích được gì.
  • Gọi đúng chữ ký: chạy qua /bin/sh -c "<lệnh>" (cmd.exe /d /s /c trên Windows), và gộp process.env vào env vì bun-pty thay thế môi trường chứ không cộng dồn.
  • pty_read giờ trả output thật. Trước đây nó chỉ báo running kèm câu "output streaming requires bun-pty native module" — dù tiến trình đã chạy. Nay output được buffer (giới hạn 200k ký tự, giữ phần đuôi) và xả ra khi đọc; clear: true để xoá buffer.

Kiểm chứng

  • Trên runtime thật (OpenCode 2.1.4, nạp bản build cục bộ): agent tự gọi pty_start → pty_read và nhận đúng pty-ok-42.
  • 678 test pass, trong đó 4 test mới pin cả hai kiểu API của bun-pty, để lần nâng dependency sau không âm thầm tái hiện lỗi này.
  • tsc --noEmit sạch, build ok.

Nâng cấp

npm i -g @hung319/opencode-hive@2.2.1
opencode plugin update

Rồi khởi động lại OpenCode.

Nếu bạn đang ở 2.2.0 và cần dùng PTY ngay trước khi nâng: cài bun-pty@0.3.x (bản còn open) vào ~/.config/opencode/hive/packages/node_modules/bun-pty. Không cần cho bất cứ việc gì khác — shell vẫn hoạt động bình thường.