antml:function_calls 및 antml:thinking 엔벨로프에 대한 ANTML 스트림 마크업 복구 기능이 제거되었으므로, Anthropic 호환 제공자는 더 이상 해당 태그를 toolCall/thinking 이벤트로 파싱하지 않습니다.glm-5.1 사고/출력 단계 중에 발생하는 OpenAI completions stream stalled while waiting for the next event 오류를 방지합니다. (#1494)zhipu-coding-plan 모델 검색 및 자격 증명 검증이 일반 BigModel 엔드포인트 대신 전용 GLM Coding Plan 엔드포인트(https://open.bigmodel.cn/api/coding/paas/v4)를 사용하도록 수정되어, 요청이 일반 계정 잔액을 소비하는 것을 방지합니다. (#1494)nanogpt/deepseek/deepseek-v4-pro)가 tool을 포함하는 DeepSeek 요청을 NanoGPT의 :tools 모델 라우트를 통해 라우팅하고 nanogpt를 DSML leak allowlist에 추가하여 수정되었습니다. 이를 통해 스트리밍된 <|DSML|tool_calls>...</|DSML|tool_calls> 엔벨로프가 보이는 텍스트로 전달되는 대신 구조화된 tool call로 복구됩니다. (#1488)nanogpt/deepseek/deepseek-v4-pro)가 nanogpt를 DSML leak allowlist에 추가하여 수정되었습니다. 이를 통해 스트리밍된 <|DSML|tool_calls>...</|DSML|tool_calls> 엔벨로프가 보이는 텍스트로 전달되는 대신 구조화된 tool call로 복구됩니다. :tools 모델 접미사는 더 이상 NanoGPT에 추가되지 않습니다. 해당 라우트는 NanoGPT의 서버 측 tool call 파서를 트리거하여 복잡한 tool 스키마(todo_write)에서 code: "malformed_tool_call" 오류로 502 응답을 발생시켰기 때문입니다. 기본 라우트는 delta.content(DSML 엔벨로프 포함)를 전달하고 클라이언트 측에서 복구됩니다. (#1488)tool_calls[].index로 활성 tool call 블록을 추적하여 수정되었습니다. 이를 통해 병렬 NanoGPT read 호출이 해당 path argument를 병합하거나 버리지 않습니다. (#1488)omp-plugins 검색 제공자가 추가되었습니다. 이는 ~/.omp/agent/settings.json 또는 <cwd>/.omp/settings.json에서 extensions: 을 통해 구성되거나 CLI의 --extension/-e 옵션으로 설정된 모든 확장 프로그램 패키지 디렉토리에서 skills/, hooks/pre|post/, tools/, commands/, rules/, prompts/, 및 .mcp.json을 검색합니다. 이전에는 확장 프로그램의 TypeScript factory 모듈만 실행되었고, 문서(https://omp.sh/docs/extension-authoring)에서 광고한 모든 형제 기능은 자동으로 무시되었습니다. (#1496)omp install <target> 서브커맨드가 추가되었습니다. 문서: https://omp.sh/docs/extension-authoring. 로컬 경로는 omp plugin link로 라우팅되어 디렉토리가 플러그인 세트에 symlink됩니다. npm/marketplace 사양은 omp plugin install로 라우팅됩니다. 이전에는 install이 등록된 서브커맨드가 아니었고 CLI 러너는 install ./my-extension을 초기 LLM 프롬프트로 자동으로 launch에 전달했습니다. (#1496)Todos 패널이 활성 단계의 처음 5개 작업에 고정되는 대신 작업이 닫힐 때 진행되도록 변경되었습니다. selectStickyTodoWindow는 이제 원래 단계 순서로 열려 있는(pending / in_progress) 작업을 최대 5개까지 표시하고 +N more 힌트에 남아 있는 열려 있는 작업 수를 보고하므로, 모든 todo_write flip이 눈에 띄는 행 이동을 생성합니다. 닫힌 단계 tail은 getActivePhase가 다음 단계로 이동할 때까지 마지막 5개 작업으로 되돌아갑니다(+N more 라인은 표시되지 않음).Todos 패널이 live SessionObserverRegistry에 연결되어, 진행 중인 subagent가 해당 작업을 수행하는 pending todo가 animated spinner와 함께 녹색으로 조명됩니다. task 도구가 에이전트 행에 사용하는 것과 동일한 theme.spinnerFrames("status" preset)를 사용하므로, 마치 아무것도 일어나지 않은 것처럼 회색으로 유지되지 않습니다. 새로운 내보내기 함수 todoMatchesAnyDescription(content, descriptions)는 대소문자 및 공백을 구분하지 않는 동등성 검사를 먼저 수행하고 6자 최소 중복 부분 문자열 fallback을 양방향으로 수행하므로, "Sonnet #2: shallow bug scan"과 "Sonnet #2"의 subagent 설명은 여전히 연결됩니다. 완료된 todo는 이제 theme.status.success(✔ / \uf00c / [ok] 기호 preset에 따라, 여전히 success 색상으로 래핑되어 테마 팔레트가 자신의 보라색/녹색/기타를 유지할 수 있음)로 렌더링되고, in_progress 행은 theme.status.running으로 렌더링되어 task 도구의 아이콘 어휘와 일치합니다. spinner interval은 최소 하나의 보이는 열려 있는 todo에 일치하는 활성 subagent가 있는 경우에만 진행되며, subagent가 완료되면 자동으로 중지되므로, 순수 in_progress todo는 subagent 활동이 없을 때 무한정 애니메이션되지 않습니다.src/cli.ts에서 side-effect가 없는 src/cli-commands.ts로 추출되어 테스트 코드가 entrypoint의 상위 레벨 await를 트리거하지 않고 등록된 서브커맨드를 introspect할 수 있습니다.InMemorySnapshotStore는 이제 같은 경로의 연속 읽기를 해당 view가 공유된 모든 라인에 대해 동의할 때마다 하나의 태그로 통합합니다. 겹치거나 직접 인접한 range 읽기는 기존 snapshot의 연속 run을 제자리에서 확장하고, 간격으로 분리된 읽기는 두 범위를 포함하는 SparseSnapshot으로 합칩니다. 불일치하는 공유 라인은 "파일이 디스크에서 변경됨"으로 취급되고 새로운 태그를 발행하여 이전의 superset-dedup 동작을 보존합니다. 이를 통해 변경되지 않은 파일의 순차 range 읽기(예: :50-100 그 다음 :100-200, 또는 :1-100 그 다음 :150-200)가 별도의 anchor로 분할되는 것을 방지합니다.#planRender는 이제 프레임의 기하학이 실제로 변경되었을 때(widthChanged || heightChanged) 복원된 historyRebuild intent를 통해 히스토리를 동기적으로 재구축하고, 사용자가 stream 중간에 scrollback을 읽을 수 있는 순수 콘텐츠 변경의 경우에만 재구축을 연기합니다.install by @roboomp in #1498전체 변경 사항: v15.5.11...v15.5.12
historyRebuild render intent to clearinstall command