AgentLoopConfig.waitForSteeringMessages는 스티어가 큐에 들어가면 해결되므로, 다음 틱을 기다리지 않고 도착하자마자 인터럽션이 감지되며, 유휴 배치는 더 이상 웨이크업을 낭비하지 않습니다. 구간 타이머는 웨이크 콜백이 없는 IRC 인터럽트 큐에 남아있으며 이벤트 감시자가 스티어링을 소유하는 동안 IRC만 확인합니다. 웨이트는 로컬 중단에 대해 경합하므로, 신호를 관찰하지 않는 콜백이 배치 티어다운을 중단시킬 수 없습니다.cursorOnToolResult 트랜스포머가 여전히 보류 중인 상태에서 Cursor 도구 결과가 손실되는 문제를 수정했습니다. 프로바이더는 디코딩된 메시지를 대기하지 않고 디스패치하므로, 같은 청크의 message_end가 버퍼를 트랜스포머가 해결되기 전에 드레인하여 결과를 버리고 해당 toolCall 블록이 재생 시 연결되지 않은 것으로 제거되게 할 수 있었습니다. 이제 엔트리가 동기적으로 예약되고 트랜스포머가 해결되면 제자리에서 패치되어 버퍼 순서가 유지됩니다.cursorOnToolResult 트랜스포머의 재작성이 버퍼 드레인 후 해결될 때 자동으로 삭제되는 문제를 수정했습니다. 예약으로 인해 호출이 연결되지 않은 상태로 유지되었지만 늦은 패치가 분리된 엔트리를 변경했으므로, 이미 유지된 메시지는 변환 전 페이로드를 유지했습니다. 드레인이 이제 유지하기 전에 진행 중인 모든 트랜스포머를 대기하여 대기된 exec-channel 경로와 일치합니다. 트랜스포머를 거부하면 삼킴처리되고 예약된 페이로드가 대신 사용되므로, 실패한 훅이 턴을 종료하거나 결과 비용을 낼 수 없습니다.cursorExecHandlers도 cursorOnToolResult도 전달하지 않는 호스트에 대해 Cursor 도구 결과가 삭제되는 문제를 수정했습니다. 둘 다 선택 사항이지만, Cursor 프로바이더는 네이티브 todo 호출을 서버 측에서 해결하고 두 항목 모두 해결된 것으로 표시하여 exec 블록을 합성하므로 플레이스홀더 결과가 발생하지 않습니다. 결과 버퍼 콜백은 옵션 중 하나가 있을 때만 설치되었으므로, 베어 SDK 호스트가 프로바이더의 쌍을 이룬 결과를 버리고 모든 재구축 트랜스크립트가 상호작용을 제거했습니다. 이제 무조건 설치됩니다.cursorOnToolResult 재작성이 프로바이더 오류 중-변환에서 손실되는 문제를 수정했습니다. 일반 드레인은 보류 중인 트랜스포머를 기다리지만, 오류 경로가 그 대기 없이 버퍼를 스냅샷했으므로, 진행 중인 변환이 catch 경로가 이미 분리한 엔트리를 패치했고 변환 전 페이로드가 유지되었습니다. 프로바이더 오류는 정확히 변환이 진행 중일 가능성이 높은 경우입니다.omp usage에서 할당량을 보고합니다. GET /v1/token_plan/remains는 계획 할당량당 하나의 버킷을 반환하며, 각각 롤링 간격 윈도우와 주간 윈도우를 포함하므로 minimax-code는 빈 보고서 대신 실제 남은 백분율을 표시합니다. 계획에 포함되지 않은 모델은 건드려지지 않은 할당량처럼 나타나며, 해당 버킷은 보고서에서 삭제되고 메타데이터에 이름이 지정됩니다. 대륙 ID minimax-code-cn은 변경되지 않습니다.authorizedAt(대화형 로그인의 에포크 ms)을 표시하고, 모든 새로고침-유지 경로가 이를 보존합니다. Anthropic은 새로고침 토큰 로테이션과 관계없이 권한 부여 후 약 30일 후에 전체 OAuth 부여 제품군을 만료합니다(invalid_grant: "Refresh token expired" 최신 로테이션된 토큰에 로그인 정확히 30일 후, 4개의 프로덕션 계정 전체에서 관찰됨). 따라서 로그인 앵커가 재로그인 마감일을 계산할 수 있게 합니다. anthropic OAuth 플로우와 함께 ANTHROPIC_OAUTH_GRANT_TTL_MS를 내보냈습니다.GET /v1/credentials/disabled 및 AuthBrokerClient.listDisabledCredentials 추가: 비활성화된 자격 증명 묘비석(DisabledCredentialSummary — 신원, 그대로의 비활성화 원인, 비활성화 타임스탬프; 토큰 자료 없음)이므로 자동 비활성화된 계정이 스냅샷에서 자동으로 사라지지 않고 클라이언트에게 표시됩니다. AuthStorage.listDisabledCredentials는 SQLite에서 로컬로 동일한 데이터를 제공합니다. 엔드포인트보다 이전인 브로커의 클라이언트는 빈 목록을 받습니다(404 매핑됨, 오류 없음).AuthStorage.revalidateCredentials() 및 선택 사항의 AuthCredentialStore.refreshSnapshot 훅 추가: 원격 브로커 저장소가 필요 시 GET /v1/snapshot을 다시 가져오므로 저장된 신원과 함께 라이브 크레덴셜별 데이터를 쌍으로 연결하는 호출자(omp usage)는 최대 1시간 오래된 디스크 캐시 스냅샷에 대해 렌더링하지 않습니다. 로컬 SQLite 저장소는 항상 최신이고 다시 로드만 합니다.codexSseMaxAttempts 스트림 옵션을 추가했으며, 생략할 때 6회 시도 기본값을 유지합니다.Connect error internal: Unable to parse image: ...로 실패하는 문제를 수정했습니다. rootPromptMessagesJson 이미지 부분이 이제 베어 base64 대신 data:<mime>;base64, URI를 포함하여 OpenAI-completions 프로바이더에서 사용하는 규칙과 일치합니다(#6564).status 필드를 입력으로 다시 전송하여 장기 실행 세션에서 input[N].status 실패를 방지하는 문제를 수정했습니다. (#6513 by @Ant39140)done을 푸시하기 전에 진행 중인 exec 디스패치를 기다리지만, 오류 경로가 해당 대기를 건너뛰었으므로 마지막 청크에서 디코딩된 핸들러가 Agent가 이미 터미널 오류에서 호출을 완료하고 버퍼를 지운 후 결과에 착지했습니다. 이미 부작용을 실행했을 수 있는 도구의 실제 결과가 손실되었습니다. 두 출구가 이제 동일한 배리어를 드레인합니다.toolResult 없음), 합성된 트랜스크립트 엔트리는 항상 "Tool produced no transcript result" with isError: false였습니다. rejected 또는 error 결과의 경우도 마찬가지입니다. 따라서 Cursor는 실패를 보았지만 재구축 트랜스크립트는 성공을 보였습니다. 합성된 엔트리는 이제 결과의 자신의 oneof 변형에서 상태와 메시지를 파생시킵니다 — 애플리케이션 수준 도구 실패가 별도 변형이 아닌 success 변형 내 is_error로 진행되는 MCP를 포함합니다.update_todos/read_todos 도구를 서버 측에서 해결하지만, 브릿지가 updateTodosToolCall/readTodosToolCall 플랫화된 속성 아래에서 찾았으며, 디코딩된 agent.v1.ToolCall은 절대 가지지 않습니다 — 변형은 tool oneof를 통해서만 도착합니다. 따라서 네이티브 todo 호출이 인식되지 않았습니다. 합성된 todo 도구 호출도 로컬 도구 스키마가 거부하는 {todos} 페이로드를 가진 로컬로 실행 가능한 것으로 발생되었으므로, 표시된 모든 업데이트가 검증 오류로 끝났고 로컬 todo 상태는 Cursor의 상태를 따라가지 않았습니다. Todo 호출은 이제 oneof에서 읽혀지며, 네이티브 todo 블록 모두 이미 해결된 것으로 표시되고, 로컬 상태는 서버의 확인된 성공 스냅샷에서 미러링됩니다(UpdateTodosError에서 상태는 건드려지지 않은 채로 남음). TODO_STATUS_CANCELLED은 이제 pending으로 되돌리는 대신 abandoned로 매핑됩니다.read_todos 응답에 대한 Cursor todo 미러링을 강화했습니다: status_filter/id_filter로 좁혀진 읽기, 또는 서버 자신의 total_count보다 적은 행을 반환하는 읽기는 목록이 아닌 부분집합이며, 더 이상 신뢰할 수 있는 것으로 처리되지 않습니다. 이전에 그러한 응답은 생략된 모든 작업을 삭제했을 것입니다.total_count가 0이 아닌 비어 있는 update_todos 응답이 신뢰할 수 있는 명확함으로 미러링되어 모든 로컬 작업을 한 번에 삭제하는 문제를 수정했습니다. 개수 불일치 보호가 빈 응답을 완전히 건너뛰었습니다. 이제 일치하는 0 개수만 진정한 명확함입니다. 빈 read_todos는 proto3가 설정되지 않은 total_count를 0으로 디코딩하고 필터링된 읽기가 일치하지 않은 것과 구별할 수 없으므로 그대로 거부됩니다.tool_call을 포함하지 않을 때 Cursor todo 호출이 쌍을 이루지 않게 되는 문제를 수정했습니다. ToolCallCompletedUpdate.tool_call은 선택 사항이지만, 블록이 이미 시작된 프레임으로 서버 해결됨으로 표시되었으므로 아무것도 플레이스홀더를 발생시키지 않았고 모든 트랜스크립트 재구축이 상호작용을 제거했습니다. 이제 거부된 스냅샷과 동일하게 "미러링할 내용 없음"으로 정산됩니다.read/write/grep/delete/bash/lsp/MCP)이 도구가 결과를 생성하지 않을 때 재구축 트랜스크립트에서 사라지는 문제를 수정했습니다. 어시스턴트 블록이 합성되고 핸들러가 실행되기 전에 서버 해결됨으로 표시되므로, 세 가지 결과 없는 경로 — 설치된 핸들러 없음, 아무것도 반환하지 않는 핸들러, 발생된 핸들러 — 호출이 쌍을 이루지 않게 했습니다. 이제 각각 서버가 수신하는 것과 동일한 텍스트를 전달하는 결과와 쌍을 이룹니다.ToolCall.tool은 protobuf oneof이므로, 디코딩된 메시지는 변형을 { case, value }로 노출하고 절대 평평한 mcpToolCall 속성으로 노출하지 않습니다 — 네이티브 todo 호출을 보이지 않게 한 동일한 함정이며, 손으로 만든 고정장치는 계속 통과했습니다. 스트림된 시작과 완료 arg 병합이 모두 공유 선택기를 거칩니다.name에서 이름이 지정되는 동안 해당 쌍을 이룬 결과가 toolName을 사용하는 문제를 수정했습니다. 서버가 다른 값을 보냈을 때마다 두 값이 불일치했습니다. 이제 둘 다 toolName을 선호합니다.done을 발생시키는 문제를 수정했습니다. 서버 메시지는 fire-and-forget으로 디스패치되어 소켓이 계속 드레인되지만, 아무것도 기다리지 않았습니다. exec 요청, turnEnded 및 스트림 닫기가 한 청크에 도착했을 때, 턴이 핸들러가 결과를 생산하기 전에 완료되었고, 결과가 호출과 쌍을 이루는 버퍼 드레인을 놓쳤습니다. 진행 중인 디스패치는 이제 전송이 완료된 후 대기합니다.toolResult를 생산하지 않았고, buildSessionContext는 쌍을 이루지 않은 모든 toolCall을 제거하므로, 상호작용이 재로드, 분기 전환 또는 트랜스크립트 재구축에서 사라졌습니다. 호스트가 구축하는 결과는 이제 그대로 유지되며 — todo 렌더러가 목록을 재구축하는 details.phases를 포함하며, 요약 전용 결과는 0 tasks로 재생했을 것입니다.read_todos와 서버 UpdateTodosError 모두 답변되지 않았습니다 — tool_execution_end 없음, toolResult 없음으로 블록이 재구축에서 제거됩니다. 이제 모든 완료된 네이티브 todo 호출이 정산됩니다. 서버 오류는 양성 "미러링할 내용 없음" 경우로 축소되는 대신 실패한 결과로 전달되며, 이는 실패를 성공으로 재생했을 것입니다.id로 todos를 식별하고 동일한 텍스트를 공유하는 두 행을 나타낼 수 있습니다. 로컬 목록은 내용만으로 키가 지정되고 todo 도구는 중복을 거부하므로, 그러한 쌍을 가져오면 모든 작업 목표 done/drop/rm이 첫 번째 행으로 해결되고 두 번째는 도달 불가능합니다. 스냅샷은 이제 로컬로 표현될 수 없는 다른 것처럼 거부됩니다 — 로컬 상태는 건드려지지 않고 호출은 여전히 no-op으로 정산됩니다.read_todos 응답에 대해 Cursor todo 미러링을 강화했습니다. total_count는 proto3 스칼라이므로, 설정되지 않은 필드는 0으로 디코딩되고 진정으로 비어 있는 목록과 구별할 수 없습니다. todos=[] + total_count=0을 수락하면 모든 로컬 작업이 지워집니다. 비어 있는 읽기와 불일치하는 읽기는 이제 거부됩니다 — update_todos는 신뢰할 수 있는 명확함 경로로 유지됩니다."No todo changes"라고 주장하는 문제를 수정했습니다. 서버 수락 update_todos는 여전히 로컬로 거부될 수 있습니다(내용 충돌 등). 유지된 폴백이 이제 "Todo snapshot not mirrored"로 읽혀져, 원격 호출이 아무것도 변경하지 않았음을 암시하는 대신입니다.TodoItem.dependencies를 포함하는 스냅샷에 대해 Cursor todo 미러링을 강화했습니다. 와이어 모델은 id로 다른 행 뒤의 행을 차단합니다. 로컬 목록에는 ID와 엣지가 없으므로, 가져온 종속 행은 순수 pending으로 파일을 작성하고 nextActionableTask는 서버가 차단된 것으로 간주하는 작업을 제공합니다. 아직 completed/abandoned되지 않은 행을 가리키는 엣지가 있는 스냅샷은 이제 로컬로 표현될 수 없는 다른 것처럼 거부됩니다. 차단자가 이미 완료된 엣지는 아무것도 제약하지 않으며 여전히 미러링됩니다.total_count 불일치 보호를 update_todos로 확장했습니다. 부분 또는 크기 제한 병합 응답은 필터링된 읽기만큼 불완전하지만, 검사는 읽기에만 적용되었으므로, 자신의 개수보다 적은 행을 반환하는 업데이트가 전체 목록으로 미러링되고 생략된 모든 작업을 삭제했습니다. 빈 업데이트는 여전히 동기화됩니다 — 애매한 빈 읽기와 달리 신뢰할 수 있는 명확함 경로로 유지됩니다.content가 있는 행에 대해 Cursor todo 미러링을 강화했습니다. content는 proto3 문자열이므로, 빠진 또는 기본값이 ""로 도착합니다. 로컬 목록은 내용으로 키가 지정되고 거짓인 것을 거부하므로, 가져온 행은 모든 작업 목표 done/drop/rm에 도달할 수 없습니다. 그러한 스냅샷은 이제 로컬로 표현될 수 없는 다른 것처럼 거부됩니다.packages/catalog 테스트 프로세스가 ReferenceError: Cannot access 'claudeCodeVersion' before initialization으로 충돌하는 결정론적 순환 임포트 TDZ를 수정했습니다: registry/oauth/anthropic.ts가 providers/anthropic.ts에서 claudeCodeVersion을 임포트했으며, 이는 레지스트리를 과도하게 불어옵니다(providers/anthropic → stream → registry → registry/oauth/anthropic). 모듈 수준 claude-code/${claudeCodeVersion} 부트스트랩 사용자-에이전트 상수가 providers/anthropic.ts가 여전히 중-초기화 중인 동안 바인딩을 읽었습니다. claudeCodeVersion은 이제 영 임포트 리프 모듈(providers/claude-code-fingerprint.ts)에 있으며, providers/anthropic.ts, registry/oauth/anthropic.ts, 및 usage/claude.ts 모두가 임포트하므로, 순환을 소스에서 제거합니다.claudeCodeVersion이 초기화되기 전에 발생할 수 있는 문제를 수정했습니다(#6628 by @anatoli-tsinovoy).rate_limit.limit_reached 플래그가 개별 채팅 창에 적용되는 것을 중지했습니다. Codex는 전체 계정에 대해 하나의 공유 플래그를 보고하므로, 실제 여유가 있는 창이 다른 창(또는 별도 계량 기능)이 한계에 있기 때문에 exhausted로 표시되었으며, 이는 자격 증명 선택 중 형제 계정을 과도하게 차단했습니다. 이제 각 창의 상태는 자신의 사용량만 반영합니다.usage_limit_reached는 더 이상 일반 채팅 요청이 준수하는 블록을 지속하지 않으며, 역도 마찬가지입니다. 범위를 지정하기 전에 작성된 블록은 공유 범위 "모두 차단"을 사용했으므로, 요청은 여전히 이를 준수하고 조정은 여전히 이를 치유합니다.scopeLimits를 구현했으므로 요청은 실제로 소비하는 창에서만 게이트됩니다: -spark 모델은 Spark 미터를 소비하고 다른 모든 모델은 5h/주간 채팅 창을 소비합니다. 모든 창과 미터를 하나의 프로바이더 전체 블록으로 OR-하는 대신입니다.mapOptionsForApi는 Anthropic 분기에서 disableReasoning을 상담하지 않았으므로, 호출자 측 비활성화는 적응형 생각을 전체 노력으로 남겼습니다. disableThinkingIfToolChoiceForced는 thinking과 함께 output_config.effort를 삭제했으며, 적응형 전용 모델의 경우 적응형 생각을 자동으로 다시 활성화했습니다(베어 생략은 적응형-ON으로 기본값). 두 경로 모두 이제 thinking을 생략하고 가장 낮은 적응형 노력을 고정하므로, disableReasoning과 강제 tool_choice 턴(예. 배달 리뷰의 report_delivery)이 생각 블록을 반환하는 대신 추론을 실제로 억제합니다. end_turn(#6589).alibaba-token-plan 로그인이 국제 싱가포르 엔드포인트만 지원하는 문제를 수정했습니다. 이는 중국(베이징) Token Plan sk-sp- 키를 401 invalid_api_key로 거부했습니다. 로그인은 이제 지역을 선택합니다(국제 / 중국(베이징) / 사용자 정의). 해당 지역의 /models 엔드포인트에 대해 키를 검증하고, 선택된 기본 URL을 자격 증명에 저장하므로 추론과 발견이 모두 대상으로 합니다(#6682).no_capacity 및 높은 수요 응답과 같은 상태 없는 프로바이더 용량 오류가 재시도 가능한 대신 터미널로 처리되는 문제를 수정했습니다. (#6503)web_search 등)이 상호작용 블록이 도착하지 않을 때 toolCall 블록을 생략하는 문제를 수정했습니다. 최종 어시스턴트 답변 아래 또는 트랜스크립트 재생에서 삭제된 도구 카드를 렌더링합니다. (#6501)is_active: false를 가진 Claude 범위 지정 주간 제한(예. Claude 7 Day (Fable))이 /usage 파서에 의해 삭제되어 실제 활용을 포함하고 있음에도 불구하고 omp usage에서 not reported로 렌더링되는 문제를 수정했습니다. 라이브 페이로드는 현재 바인딩 제한만 활성으로 표시합니다 — 100% Fable 캡에 고정된 계정은 77% 공유 주간 행도 비활성으로 보고합니다. 따라서 is_active는 심각도 순위를 신호하고 버킷 존재가 아니며, 이제 무시됩니다. 소진 게이팅은 변경되지 않습니다: 계층 행은 여전히 확인된 100%에서만 하드 블록하고 향후 재설정을 합니다.providers/anthropic이 로드되는 첫 번째 모듈일 때 TDZ 충돌(Cannot access 'claudeCodeVersion' before initialization)을 수정했습니다: providers/anthropic → stream → registry → registry/oauth/anthropic이 여전히 초기화 중인 프로바이더 모듈로 다시 순환했습니다. Claude Code 지문 상수는 이제 리프 모듈 providers/claude-code-fingerprint에 있습니다(providers/anthropic에서 별 재내보내기됨으로써 임포트 경로는 변경되지 않음).anthropic.claude-opus-5와 us., eu., au., global. 지역/지역 ID를 포함합니다.alibaba-token-plan이 중국(베이징) 百炼 Token Plan 가입자를 잠그는 문제를 수정했습니다. 베이징 발급 sk-sp- 키가 401 invalid_api_key를 받았습니다. 와이어 자격 증명은 이제 선택적 지역 기본 URL을 포함하고 모델 발견이 자격 증명의 지역을 대상으로 합니다(#6682).tool_choice 400s(tool_choice 'specified' is incompatible with thinking enabled)을 Kimi Code의 Anthropic 호환 엔드포인트에서 수정했습니다(kimi-for-coding, kimi-for-coding-highspeed, 및 k3 별칭의 경우): Anthropic 표면 호환 일치자는 Moonshot의 네이티브 kimi-k2.7-code* ID만 인식했으므로, 생각이 잠긴 kimi-code 모델이 supportsForcedToolChoice: true를 유지했고 강제 선택자가 항상 생각하는 호스트에 전송되었습니다. 이 모델들은 이제 requiresThinkingEnabled를 해결하여 생각을 계속 유지하고 강제 선택을 auto로 다운그레이드합니다.claude-opus-5)이 reasoning: false/thinking: null 및 노력 다이얼 없이 발견하고 오프라인 읽기에서 합성된 -1m 형제와 함께 사라지는 문제를 수정했습니다: anthropic-messages 프록시의 참조 없는 Copilot 모델이 이제 모델 ID에서 적응형 추론 래더를 파생시키고, 캐시는 복원되지 않는 것으로 드롭하는 대신 값으로 컴파일 시간 COPILOT_API_HEADERS를 복원합니다(#6664).omp usage는 이제 자동 비활성화 자격 증명을 빨간 ✗ 묘비석 행으로 표시합니다(신원, 얼마나 오래 전, 단축된 업스트림 원인 — 예. Refresh token expired — 및 재로그인 힌트). 사용자 주도 묘비석(replaced by newer credential, deleted by user) 및 API 키 행은 숨겨집니다. GET /v1/credentials/disabled를 가진 브로커가 필요합니다. 더 오래된 브로커는 묘비석 행이 없는 상태로 다운그레이드됩니다.omp usage는 Anthropic의 약 30일 OAuth 부여 수명에 대해 경고합니다: 대화형 로그인(authorizedAt)이 마감일 1주일 이내인 계정은 노란 ⚠ re-login within <time> 행을 받고, 마감일 이후 계정은 빨간 행을 받습니다. 부여는 새로고침 로테이션과 관계없이 로그인 정확히 약 30일 후 서버 측에서 종료되므로, 이것이 브로커가 행을 자동 비활성화하기 전의 유일한 경고입니다./computer status를 통해 효과적인 네이티브/함수 라우팅을 노출하고, 캡처된 내용을 로깅하지 않고 구조화된 수명 주기 진단을 발생시킵니다.bash.exe가 발견 가능하지 않을 때 Windows에서 omp 시작을 거부하는 문제를 수정했습니다 — 가장 눈에 띄게 scoop으로 설치된 Git의 경우, 해당 매니페스트는 sh.exe/git.exe를 시뮌하지만 bash.exe는 결코 하지 않으므로 PATH 조회가 이를 놓쳤습니다. 시작이 bash 도구 설명을 구축할 때 No bash shell found를 발생시켰습니다. bash 도구 명령이 항상 임베드 brush-core 셸에서 실행되고 호스트 bash를 필요로 하지 않음에도 불구하고. 셸 발견은 이제 GIT_INSTALL_ROOT, scoop 및 사용자별 Git for Windows 설치 루트, 및 PATH의 sh.exe도 확인한 후 spawn 전용 경로에 대해 cmd.exe로 폴백됩니다(대화형 PTY, ACP 클라이언트 터미널). 사용자 셸 명령을 래핑하는 데 cmd 폴백은 절대 사용되지 않습니다 — brush는 POSIX 라인을 직접 실행합니다.Screenshot 2026-07-24 at 1.55.12 PM.png). 괄호로 묶인 붙여넣기 이미지 추출 경로는 이제 클립보드 키바인드 경로와 동일한 전체 텍스트 경로 폴백을 포함하므로, 두 경로는 동일한 감지를 공유하고 이미지를 첨부합니다. 원시 경로를 리터럴 텍스트로 삽입하는 대신입니다(#6578). 공유 폴백은 단일 경로를 보유하는 페이로드만 요청합니다: 이스케이프되지 않은 공백 후 두 번째 절대 경로 앵커를 포함하는 항목(/tmp/a.png /tmp/b shot.png — 공백이 있는 이름을 가진 파일 두 개를 한 번에 드래그)은 두 경로 모두에서 텍스트로 붙여넣어집니다. 이전에 클립보드 경로에서 아무것도 첨부하지 않고 "Image not found" 상태 뒤의 텍스트를 삼켰을 것입니다.thinkingLevel을 버렸으므로, 합법적인 노력 다운그레이드 대상(예. prewalk: "@task"가 더 저렴한 노력으로 동일 모델로 해결됨)이 절대 적용되지 않았으며, 세션이 계획/계속 가볍게 두드리는 것에 대해 비용을 지불했습니다. Prewalk은 이제 (provider, id, effective thinking level)을 비교하고, 노력 전용 핸드오프를 적용하고, 자동으로 반환하는 대신 진정한 no-op에 공지를 발생시킵니다(#6659).@czottmann/pi-automode가 pi-ai 호환 시점이 clampThinkingLevel을 생략했기 때문에 레거시 확장 검증에 실패하고, ctx.modelRegistry가 getApiKeyAndHeaders을 생략했기 때문에 모든 분류된 도구 호출에 실패하는 문제를 수정했습니다. (#6648)$$HASH$$ 형식으로 대체합니다(#6631).bash)를 호출할 때 전체 턴이 디스패치 전에 버려졌으므로, 어드바이저의 조언이 주 에이전트에 도달하지 않았고 실패는 어드바이저 진단에서만 나타났습니다. 다른 모든 복구되지 않는 실패 분기는 호스트 UI를 알리지만, 격리 재프라임은 바인딩이 없는 무음으로 재시작되었습니다. 지속적으로 격리하는 어드바이저는 이제 메인 UI에서 notifyFailure 경고를 표시합니다(중복 제거, 다음 성공 턴에서 지워짐). 무한한 무음 재프라임 루프를 멈춥니다(#6661).natives-builder 스테이지가 17.1.1 이상의 릴리즈를 구축하지 못하는 문제를 수정했습니다: 네이티브 오디오 스택이 bindgen(miniaudio는 libclang 필요) 및 번들화된 opus CMake 구축(cmake + make 필요)을 추가했으며, 둘 다 슬림 빌더 이미지에 설치되지 않았습니다.modelRoles.default가 확장 등록 모델(나열됨enabledModels)명명하여 무음으로 다른 범위 내 프로바이더의 모델에서 실행되는 문제를 수정했습니다. 시작 모델 범위는 확장이 registerProvider()를 호출하기 전에 해결되므로, 기본 역할이 범위를 벗어났고 buildSessionOptions가 options.model을 범위 내 첫 번째 모델로 고정했습니다 — 이는 모델을 "명시적"으로 표시했고 사후 확장 기본 역할 재해결을 억제했습니다. 시작 범위에서 찾을 수 없는 구성된 기본값은 이제 지연되므로 확장이 완전히 등록되고 여전히 enabledModels-범위 카탈로그에 대해 재해결됩니다(#6694).packages/coding-agent/node_modules 아래에 설치했지만 네이티브 플랫폼 패키지를 저장소 루트로 끌어올렸을 때 Windows 소스 워크스페이스에서 sherpa-onnx-node를 로드하지 못하는 Parakeet 음성 인식 문제를 수정했습니다(#6690).omp usage 문제를 수정했습니다. 형제 보고서가 조직을 포함할 때마다(혼합된 사전 조직 캡처 행과 신선한 조직 범위 로그인 풀): 조직 없는 계정은 이제 자신의 조직 없는 보고서로 커버되는 반면, 조직 귀속 형제 보고서는 여전히 포함되지 않습니다.omp usage는 렌더링 전에 브로커 자격 증명 스냅샷을 재검증합니다: 라이브 사용 보고서는 이전에 최대 1시간 오래된 디스크 캐시 계정 목록과 쌍을 이루었으므로, 방금 완료된 재로그인(조직 없는 행이 조직 범위로 업서트됨)은 캐시가 만료될 때까지 팬텀 중복으로 렌더링되었습니다.Agent는 설치된 메타데이터 해결기가 없었으므로, 아웃바운드 요청은 주 및 서브 에이전트가 전달하는 metadata.user_id 세션 ID를 생략했습니다. 각 어드바이저는 이제 metadata.user_id를 통해 자신의 advisorProviderSessionId를 발생시키며, 라이브로 해결되므로 토큰 새로고침이 현재 account_uuid를 표시합니다. 프록시 라우팅 및 속성에 대해 Main, subagent, Advisor 트래픽 서로 다른 안정적인 세션 ID를 제공합니다(#6625).todo 도구 결과를 절대 발생시키지 않았기 때문입니다.details.phases를 포함하지 않습니다 — 변경되지 않은 호출이 라이브 패널 상태를 덮어쓰지 않도록 현재 목록을 다시 에코합니다.분량 관계로 이후 내용은 번역에서 제외했습니다. 전체 내용은 위 원문 링크에서 확인하세요.