capabilities.completion_chat이 있는 항목만 제공되며, 컨텍스트, 이미지 입력, 추론 기능은 해당 항목에서 읽어옵니다 (#18244 by @VeigaPunk)cd <dir> && / cd <dir>;가 있는 명령의 Bash 도구 카드에서, 이제 드롭하지 않고 모델이 작성한 구분자와 함께 시각화된 명령 위에 cd를 다시 표시하여 명령이 실행된 위치를 보여줍니다cd <dir>; ...로 시작하는 Bash 명령은 해당 디렉터리가 존재하면 <dir>을 작업 디렉터리로 하여 실행되므로, direnv 환경이 로드되고 도구 카드에 디렉터리가 표시됩니다 (#18329 by @harshaygadekar)taskFile을 통해 주어지든, 작업 지시사항의 빈 줄, Markdown 강제 줄바꿈, 표 간격을 그대로 유지한 채 전달받습니다.retain 및 learn 메모리가 전달에 실패하거나 omp가 종료되어도 더 이상 유실되지 않습니다. 디스크에 보관되었다가 재시도되며, 중복 없이 다음 세션에서 전달됩니다 (#18176 by @alphastorm)Native shell returned an invalid execution trace와 함께 세션이 충돌하던 문제를 수정했습니다 (#18259)grep -e와 rg -e가 -로 시작하는 패턴(예: grep -e "--canary")을 알 수 없는 옵션 오류로 실패하지 않고 허용합니다.v=$(printf '\377')) Bash 실행 시각화가 계속 업데이트되고, 저장된 트레이스도 정상적으로 복원됩니다.grep, glob, 격리된 서브에이전트가 ovnfs 데몬을 조회하거나 시작할 때 더 이상 콘솔 창이 깜박이지 않습니다.[가 포함되어도(예: a && [) Pseudo 셸 시각화에서 omp가 더 이상 충돌하지 않습니다 (#18320)@가 붙은 내부 스킴 URL(예: @local://x, @vault://x)을 언급한 프롬프트가 "uses internal scheme ... not as a filesystem path" 오류로 실행을 중단하던 문제를 수정했습니다. 이제 해당 언급은 일반 텍스트로 남습니다 (#16071)JSON Parse error: Unexpected identifier "access_token"으로 실패하던 문제를 수정했습니다 (#18292)resource 대신 MCP 서버 자체의 리소스(보호된 리소스 메타데이터 기준)에 대한 토큰을 요청합니다. 이로써 Firecrawl의 호스팅 MCP 같은 서버에서 /mcp reauth 후 발생하던 401 invalid_token 문제를 수정했습니다 (#18315)streamSimple을 가진 모델을 사용할 때 워커 스레드의 서브에이전트가 Cannot send … instance across threads로 실패하지 않습니다 (#18310 by @Dangerboi)display.shellVisualization을 비활성화하면 ACP를 포함하여 도구 업데이트와 저장된 세션에서 Bash 실행 트레이스가 제외됩니다 (#18267)./quit과 /exit가 응답하지 않는 OTLP 텔레메트리 수집기 때문에 수 초간 대기하지 않습니다 (#18255).open은 열기에 실패하고 새로 연 탭을 닫는 대신 같은 탭을 복구 알림과 함께 반환합니다 (#18252 by @will-bogusz)tab.errors()는 Error가 아닌 일반 객체 등의 거부 사유에서 Object만 보고하던 대신, 콘솔 인자처럼 제한된 범위 내에서 필드를 유지합니다 (#16959) (#18251 by @Alex-Wengg)authHeader: true를 사용하는 확장 프로바이더는 omp models refresh가 실패해도 캐시된 fetchDynamicModels 카탈로그를 유지합니다. 이전에는 다음 강제 새로고침이 성공할 때까지 모델이 0개로 표시되었습니다 (#18227)@brief.md, 인사말, 숫자만 있는 경우 등)은 이제 어시스턴트의 이해를 바탕으로 한 번 이름이 지정됩니다. 이전에는 제목으로 쓸 수 있는 다음 메시지가 올 때까지 제목이 없었고, 하나의 브리프로 실행해 두고 방치한 에이전트에서는 그런 메시지가 오지 않았습니다 (#18238 by @sjawhar)write agent://…), Prewalk가 해당 서브에이전트를 저비용 모델에 넘기지 않습니다 (#18322 by @1vivy)embed()는 이제 큰 목록을 최대 MNEMOPI_EMBEDDING_BATCH_SIZE개 텍스트 단위의 요청으로 나눕니다(기본값 64, DashScope는 10으로 설정) 또는 embeddings.batchSize 런타임 옵션을 사용하며, API가 텍스트 수와 다른 수의 벡터를 반환하면 null을 반환합니다 (#18278 by @aleister1102)debug 수준으로 로그에 기록되며, 런타임 디버그가 켜져 있으면 warn 수준으로 기록됩니다 (#18278 by @aleister1102)find()가 놓치던 문제를 수정했습니다. 이제 64단계 깊이까지 검색합니다 (#18221 by @will-bogusz)glob, grep, fuzzyFind, ast_grep, ast_edit은 이제 디렉터리 순회를 자체 파일시스템 런타임에서 실행합니다. 따라서 크거나 콜드 상태인 트리에 대한 검색이 내장 셸 및 다른 모든 네이티브 호출이 스케줄되는 워커 스레드를 더 이상 점유하지 않습니다. 이 스레드의 이름은 pi-fs-worker이므로, 검색에서 발생한 정체를 다른 곳의 정체와 구별할 수 있습니다.undefined is not a constructor로 실패하던 문제를 수정했습니다. 애드온에 없는 클래스를 생성하면, 릴리스 빌드와 bun run build:native 모두에서 애드온 파일 이름을 명시한 메시지를 던지며, 생성자와 모든 정적 진입점 모두에서 동작합니다. 로더도 로드 시 이 불일치를 한 번 보고합니다 (#18230 by @sjawhar)VK_J와 Uc=LF를 사용한 Ctrl+J가 이제 ctrl+j로 디코딩되므로, Windows Terminal / mini-term에서 제출 대신 줄바꿈이 삽입됩니다 (#18253 by @Clannad47)f)가 이제 마우스 휠로 리더와 히스토리 목록을 스크롤하며, 다른 스크롤 시트와 동작을 맞췄습니다 (#18303 by @ImAlexBlock)ShellTrace 필드는 ShellTraceBytes입니다. 바이트가 UTF-8이면 문자열이고, 아니면 원시 바이트 값입니다. isShellTrace는 두 형식을 모두 허용합니다-로 시작하는 패턴 허용 by @H4vC in #18287@:// 언급을 중단하지 않고 일반 산문으로 처리 by @draco28 in #18208find()에서 64단계 깊이까지 검색 by @will-bogusz in #18221tab.errors()에서 Error가 아닌 거부 사유의 필드 유지 by @Alex-Wengg in #18251Full Changelog: v18.17.0...v18.18.0