@oh-my-pi/pi-ai
추가됨
- Anthropic 태스크 예산 지원을 추가했습니다.
taskBudget을 필수 task-budgets-2026-03-13 베타 헤더와 함께 output_config.task_budget으로 전달하고, output_config.task_budget을 전송하는 Anthropic 게이트웨이 요청을 수락합니다.
수정됨
- OpenAI 호환 로컬 서버가 큰 프롬프트를 처리하는 동안
PI_OPENAI_STREAM_FIRST_EVENT_TIMEOUT_MS가 더 낮은 일반 PI_STREAM_FIRST_EVENT_TIMEOUT_MS로 낮춰질 수 없도록 OpenAI 계열 첫 이벤트 타임아웃을 수정했습니다. PI_OPENAI_STREAM_FIRST_EVENT_TIMEOUT_MS가 이제 명시적인 OpenAI 전용 첫 이벤트 오버라이드로 사용 가능합니다. (#1603)
@oh-my-pi/pi-coding-agent
수정됨
- 어시스턴트 텍스트가 활발히 스트리밍되는 동안 빠른 네이티브 스크롤백 재구축을 활성화하여 WSL/Windows Terminal 스크롤백에 중복된 마지막 행을 남기는 스트리밍 어시스턴트 응답을 수정했습니다 (#1615).
수정됨
- 모델이 문자열 인수를 이중 JSON 인코딩할 때
task 도구가 서브에이전트 프롬프트를 손상시키는 문제를 수정했습니다: context와 각 태스크의 assignment/description이 이제 균일하게 이중 이스케이프될 때 복구되므로(리터럴 \n, \", \uXXXX), 서브에이전트는 의도한 텍스트를 받고 호출 미리보기가 실제 줄바꿈을 렌더링합니다. 복구는 JSON 문자열 왕복과 이중 인코딩 서명으로 보호되어, 합법적인 백슬래시/따옴표(Windows 경로, 정규식, 임베드된 따옴표)는 그대로 유지되며 자연언어 필드에만 범위가 지정됩니다(코드를 포함하는 도구는 절대 아님).
수정됨
- 주석이 활성화되었을 때
pr:// PR 뷰가 공식 리뷰 제출 및 승인을 생략하는 문제를 수정했습니다 (#1600).
수정됨
- 서브에이전트 수율 알림 루프 로깅이 양호한 사용자/컴팩션 중단을
ERROR로 로깅하는 문제를 수정했습니다. task/executor.ts의 session.prompt/waitForIdle 주변 catch는 이제 ToolAbortError 및 신호 중단 종료를 debug로 강등하고 진정한 프롬프트 실패에만 ERROR를 유지합니다 (#1623).
수정됨
- 다중 세션 ACP 호스트(예: cmux)에서
read local://<file>이 잘못된 세션의 아티팩트 디렉토리로 해석되는 문제를 수정했습니다. LocalProtocolHandler.resolve는 이제 호출 도구에서 제공한 context.localProtocolOptions를 따르고, 프로세스 전체 오버라이드 또는 글로벌 AgentRegistry의 첫 번째 main 종류 세션으로 폴백합니다. read, find, search, ast_grep, ast_edit은 자신의 세션 옵션을 스레드하여 local://PLAN.md 조회가 형제 세션의 local 루트 대신 호출 세션의 local 루트에 도달하도록 합니다 (#1608).
수정됨
- tiny 제목/메모리 모델이
onnxruntime-node를 로드한 후 Windows에서 omp가 종료 시 세그멘테이션 폴트가 발생하는 문제를 수정했습니다 (#1606). tiny 모델은 이제 Worker 스레드 대신 Bun 서브프로세스에서 실행되므로, 종료 중에 충돌하는 NAPI 파이널라이저가 에이전트의 주소 공간에서 실행되지 않습니다. 서브프로세스는 dispose 시 SIGKILL로 강제 종료되어 모든 플랫폼의 모든 네이티브 소멸자를 건너뜁니다.
수정됨
- stdio MCP 서버가
initialize/tools/list 핸드셰이크를 완료한 후 종료될 때 포크 폭탄을 일으킬 수 있는 무한정한 MCP 재연결 루프를 수정했습니다. MCPManager는 이제 자동 transport.onClose 경로에서 서버당 서킷 브레이커(30초 윈도우당 5회 재연결)를 적용합니다. 수동 /mcp reconnect는 윈도우를 재설정하여 사용자가 잘못된 설정을 수정한 후 복구할 수 있습니다 (#1592).
@oh-my-pi/pi-tui
수정됨
- 스트리밍 응답이 TUI 전체 다시 그리기를 트리거했을 때 네이티브 Windows + Windows Terminal 스크롤백이 맨 위로 끌려가는 문제를 수정했습니다. ConPTY에서
kernel32 GetConsoleScreenBufferInfo 프로브는 의사 콘솔(항상 버퍼 끝에 있음)에 대해 답변하며 WT의 호스트 스크롤백에 대해서는 답변하지 않으므로, 사용자가 위로 스크롤했을 때 isNativeViewportAtBottom()이 거짓으로 true를 반환했고 뷰포트 축소 분기가 파괴적인 historyRebuild(\x1b[2J\x1b[H\x1b[3J)을 발행했습니다. 프로브는 이제 WT_SESSION이 설정될 때마다 undefined로 단락하여 기존 지연 재구축 경로가 스트리밍 시간 변경을 비파괴적으로 유지하고 다음 프롬프트 제출 체크포인트에서 네이티브 히스토리를 조정할 수 있도록 합니다. (#1635)
변경 사항
- fix(lsp): shut down servers with exit notification by @roboomp in #1594
- fix(mcp): cap automatic reconnect bursts to prevent fork-bomb by @roboomp in #1596
- fix(tool): show formal PR reviews in pr:// views by @roboomp in #1601
- fix(ai): honor OpenAI idle timeout for first events by @roboomp in #1604
- fix(tiny): isolate tiny model worker in a subprocess so onnxruntime teardown can't crash the agent by @roboomp in #1607
- fix(coding-agent): route local:// reads through the calling session by @roboomp in #1609
- fix(tui): rebuild scrollback during assistant streaming by @roboomp in #1616
- fix(task): demote subagent reminder-loop abort log by @roboomp in #1624
- fix(tool): handle string paths in find renderer by @roboomp in #1625
- fix(tui): suppressed native viewport probe under Windows Terminal by @roboomp in #1636
- fix(tui): defer bottom-anchored shrink on unknown POSIX viewports by @roboomp in #1599
전체 변경 로그: v15.7.4...v15.7.5
이 릴리스에 포함된 커밋
- fix(tui): avoided destructive history rebuild when transcript fits viewport
- feat(ai): added Anthropic task budget support via output_config
- fix(tui): suppressed native viewport probe under Windows Terminal
- fix(coding-agent): routed local:// reads through the calling session
- fix(tool): handled string paths in find renderer
- fix(task): demote subagent reminder-loop abort log
- fix(tui): reset assistant stream rebuild mode
- fix(tui): rebuilt scrollback during assistant streaming
- fix(tiny): surfaced unexpected subprocess signal exits as worker errors
- fix(tiny): isolated tiny model worker in subprocess to skip onnxruntime napi crash
- fix(ai): marked codex sse lazy stream as provider-handled
- fix(ai): kept openai first-event env honored with per-call idle
- fix(ai): honored openai idle timeout for first events
- fix(coding-agent): repaired per-field double-encoded JSON in task tool
- fix(tool): rendered formal pr reviews
- fix(tui): rebuilt blank deferred shrink from padded top
- fix(tui): yielded scrollback when deferred shrink would blank the viewport
- fix(tui): deferred bottom-anchored shrink on unknown posix viewports
- fix(mcp): drop stale connection when reconnect breaker trips
- fix(mcp): cap automatic reconnect bursts to prevent fork-bomb
- fix(lsp): shut down servers with exit notification