1.14.34 이후로 OpenCode Desktop (Electron)을 사용하면서 에이전트 전환기가 OmO 에이전트를 나열하는 것을 거부하는 것을 봐왔다면, 이 릴리스는 당신을 위한 것입니다. 플러그인은 모듈 평가에서 Cannot destructure property 'spawn' of 'globalThis.Bun' as it is undefined. 오류로 인해 실패하는데, 이는 bun build --target bun이 Node를 실행하는 순간 충돌하는 25개의 최상위 var { spawn } = globalThis.Bun; 문을 인라인하기 때문입니다.
수정 사항은 모든 from "bun" spawn import를 정적 node:child_process import를 사용하는 런타임 shim으로 교체하므로 번들러가 처음부터 globalThis.Bun destructure를 내보내지 않습니다. 실제 Bun에서는 여전히 빠른 경로를 위해 Bun.spawn으로 직접 이동합니다.
grep -c '} = globalThis.Bun;' dist/index.js → 0 (이전: 25).
모든 7개의 OMO 에이전트 (atlas / explore / librarian / multimodal-looker / oracle / prometheus / sisyphus)가 이제 Desktop에서 깔끔하게 로드됩니다. #3797을 수정하고 #3794 / #3721 / #3762의 긴 꼬리를 닫습니다.
**@paolo-notaro**에게 감사합니다 — fallback_models 체인이 방금 실패한 것과 같은 모델을 포함하게 되면 런타임 폴백 훅이 다시 선택하고 계속 회전합니다. 이제 동일한 항목을 올바르게 건너뛰고 다음 항목으로 이동합니다. (#3802)
Cubic과 Oracle 검토에서 이 릴리스가 수정한 새로운 shim의 교차 런타임 불일치를 찾아냈습니다:
["pipe", "pipe", "pipe"] 대신 Bun (["ignore", "pipe", "inherit"])과 일치합니다 — OpenClaw 셸 명령 호출자가 stdin을 읽는 cat 스타일 프로세스에서 멈추는 것을 방지합니다.proc.exited는 이제 조용히 종료 코드 1로 해결하는 대신 Node 폴백에서 원본 ENOENT (등)로 거부합니다.spawnSync.pid는 실제 PID를 반환합니다 (플레이스홀더 -1 대신).Windows 경로가 일관성을 유지하도록 spawn-with-windows-hide에 동일한 기본값이 적용됩니다.
session-notification-sender는 이제 .nothrow를 노출하지 않는 셸 프라미스를 허용합니다 (이전 Bun 셸).1명의 커뮤니티 기여자에게 감사합니다: