getToolChoice에 SoftToolRequirement 지원 추가: 호스트가 하드 ToolChoice 대신 소프트 요구사항을 반환하여 도구를 요구할 수 있습니다. 루프는 제공된 리마인더를 한 번 주입하고 (tool_choice를 자동으로 유지), 모델이 필수 도구를 호출하지 못할 경우에만 한 턴의 강제 선택으로 에스컬레이션되며, 모든 도구 배치 우회를 건너뜁니다. 이를 통해 모든 턴에서 강제하는 것으로 인한 제공자 메시지 캐시 무효화를 방지합니다.pruneToolDescriptions 옵션 추가⊘ cache miss · <n> tokens 구분선 표시. 턴별 사용량으로부터 감지됩니다 — 이전 턴에서 의미 있는 접두사를 캐시했지만 이 요청에서는 그 중 어떤 것도 읽지 않았고 프롬프트를 다시 처리했습니다 (예: 사고 수준 / 서비스 계층 / 모델 변경, 도구 또는 시스템 프롬프트 변경, 또는 히스토리 재작성 후). 재처리된 토큰 수를 보고합니다. display.cacheMissMarker 설정(모양 → 디스플레이, 기본적으로 켜짐)으로 토글합니다.✦ skill <name> 헤더 (호출 인자 뒤에 붙음), 강조 색상의 홈 단축 클릭 가능 경로와 음소거된 프롬프트 크기가 있는 단일 메타 라인, 카드 주위의 둥근 윤곽선. 이전의 [skill] 레이블과 평면 Skill:/Path:/Prompt: 키/값 덤프를 교체합니다 (이는 또한 절대 홈 디렉터리를 유출했습니다).[customType] 괄호 레이블은 <icon> <type> 헤더 (확장 메시지의 경우 📦, 레거시 훅 역할 메시지의 경우 🪝)로 교체되고 미묘한 윤곽선이 있어서 스킬 카드와 일치합니다. 맞춤 렌더러가 없는 모든 확장/훅 사용자 정의 유형을 다룹니다./compact, 인수 인계, snapcompact와 같은 슬림 구분선 배너로 렌더링하도록 새로고침 (⑂ branch · ctrl+o, 확장 시 요약 표시) 대신 [branch] 상자.repeatToolDescriptions / "도구 설명 반복"에서 inlineToolDescriptors / "인라인 도구 설명자"로 이름 변경하고 기본적으로 인라인 설명자를 활성화했습니다.inlineToolDescriptors가 활성화되었을 때 /dump 출력이 도구 인벤토리를 두 번 반복하는 문제 수정.╭╮╰╯)를 그리므로 에디터 및 메시지 카드와 일치하며, 둥근 상자와 날카로운 (┌┐└┘) 상자를 섞지 않습니다. boxRound는 이제 날카로운 티/교차 교점 글리프를 전달합니다 (둥근 변형은 없음). 따라서 구분선은 여전히 boxSharp.tee*/cross 테마 재정의를 적용합니다. 마크다운 테이블은 의도적으로 완전 날카로운 boxSharp 집합을 유지합니다. 모서리 토큰은 이제 테이블에만 영향을 미칩니다.historyBlocks(archive) 추가Archive.text 소스에서 다시 렌더링MAX_FRAMES_DEFAULT를 80으로 상향 조정하고 PROVIDER_IMAGE_BUDGETS 통합Options.maxFrames는 이제 호출별 기본값이 아닌 MAX_FRAMES_DEFAULT로 제한된 상한입니다.FILES 섹션으로 인라인 렌더링 (스플라이스된 <files> 태그 대신)FRAME_TOKEN_ESTIMATE를 5024로 상향 조정하여 컨텍스트 예산 저산 문제 수정Box는 이제 선택적 border (상자 그리기 글리프 + 색상화)를 허용하고 setBorder()을 노출하여 채워진/배경 콘텐츠 주위에 색상 윤곽선을 그립니다. 테두리는 자동으로 너무 좁은 너비에서는 제거되므로 테두리가 있는 상자는 주어진 너비를 초과하지 않습니다.전체 변경 사항: v16.0.11...v16.1.0