<files> 요약이 scheme:// URL 추적을 중단함 — 내부 URI(conflict://, artifact://, local://, history://, …)와 웹 URL은 더 이상 파일로 기록되지 않으며, 이전 압축 요약에서 복원된 레거시 항목은 제거됨.auth_credentials이 무한정 증가하지 않도록 수정. (#2941)memo 유틸리티를 사용하도록 리팩토링하여 캐싱 보일러플레이트 제거./api/v0/models 메타데이터를 사용하도록 수정하여 VLM 모델이 이미지 입력을 광고함. (#2945)src/utils/zip.ts 모듈로 리팩토링fflate(ZIP) 및 Bun.Archive(tar/tar.gz) 작업을 zip.ts로 중앙 집중화omp:// 문서 인덱싱 최적화@oh-my-pi/pi-utils(src/vendor/mermaid-ascii)의 자체 공급 렌더러를 사용하도록 변경, beautiful-mermaid npm 패키지, 그 이행 elkjs(~3.13MB), 및 beautiful-mermaid bun patch 제거; CJK/이모지 너비 처리 및 레이아웃 방향 재정의 유지.omp:// 문서 임베딩을 gzipped base64 인덱스(docs-index.generated.txt, 빌드 시 채워지고 나중에 재설정)로 변경, 첫 읽기 시 팽창되며, ~1.6MB 원시 TypeScript 맵 대신. 컴파일된 바이너리 / npm 번들은 ~0.9MB를 감소; dev 트리 및 소스 체크아웃은 디스크에서 docs/를 읽음.markit-ai 패키지를 변환하는 문서 형식에 대한 공급 사내 문서 엔진(src/markit)으로 교체: PDF(mupdf 경유), DOCX(mammoth 경유), PPTX/XLSX/EPUB(fast-xml-parser 경유). 변환 출력은 PDF 열/표 감지 파이프라인 및 HTML 테이블 정규화를 포함하여 유지됨; markit-ai의 사용되지 않은 변환기 및 해당 종속성은 제거됨. 레거시 .doc/.ppt/.xls/.rtf는 이전처럼 지원되지 않음(변환 오류).src/utils/zip.ts(fflate) 뒤로 중앙 집중화: 새로운 문서 변환기, write 도구의 제자리 아카이브 편집 및 read 도구의 범위 아카이브 판독기가 jszip과 fflate를 혼합하는 대신 하나의 ZIP 구현을 공유.<out> 블록을 dim-ink 토글로 올바르게 감싸서 도구 결과 포맷팅 개선omp update가 EPERM: operation not permitted, unlink '<binary>.bak'를 보고하는 문제 수정, 새 바이너리가 이미 설치되었음에도 불구하고. 백업된 이전 실행 파일은 여전히 실행 중인 프로세스 이미지이며 프로세스가 종료될 때까지 연결 해제될 수 없으므로 사후 검증 백업 정리는 이제 최선의 노력이고, 백업은 고유한 시도별 이름을 사용하며, 부실한 백업은 다음 업데이트에서 정리됨 (#845).계획 개선이 Operation aborted 표시 대신 내부 승인 중단을 숨기고 편집기가 후속 프롬프트에 준비되도록 수정. (#2971)$HOME과 같은 셸 스타일 변수로 시작하는 TUI 프롬프트가 Python eval로 잘못 라우팅되는 문제 수정; Python 바로가기는 이제 $ <code> 또는 $$ <code>가 필요함. (#2944)/api/v0/models 메타데이터를 사용하도록 수정하여 inspect_image가 VLM 모델을 선택할 수 있음. (#2945)omp가 시작 시 Cannot find module './browser-data/browser-data.js'로 충돌하는 문제 수정(예: Termux/proot Linux arm64). tools/browser/attach.ts가 puppeteer-core에서 TargetType enum을 값 임포트했는데, 이는 puppeteer-core 배럴(및 그 @puppeteer/browsers Chromium 다운로더)을 열성 시작 임포트 그래프로 드래그했음 — 지연 로드 지연을 무효화하고 해당 서브트리의 모든 번들링 특이를 복구 가능한 브라우저 도구 오류 대신 치명적 부팅 충돌로 변환. 임포트는 이제 import type이고 대상 검사는 "page" 리터럴에 대해 비교하므로 puppeteer는 첫 번째 브라우저 사용에만 로드됨.error: Cannot find package 'mupdf'로 시작 시 중단되는 문제 수정. 공급 문서 엔진은 mupdf를 외부로 유지했지만, 단일 파일 bun --compile 바이너리는 이를 확인할 node_modules이 없으며, 번들러는 그렇지 않으면 지연 임포트를 부팅에서 열성으로 확인함. mupdf(및 그 WASM 모듈, scripts/embed-mupdf-wasm.ts를 통해 빌드 시에 임베드)는 이제 바이너리로 번들됨, 따라서 시작 및 PDF/문서 변환 모두 독립 실행형 바이너리에서 작동; npm 및 소스 설치는 여전히 node_modules에서 mupdf를 로드. mupdf는 이제 PDF 변환기 내에서도 지연 임포트되며, 이는 컴파일된 번들 초기화 순서 위험을 수정함 — mupdf의 최상위 await는 번들된 markit 청크의 모듈 초기화를 비동기로 만들었으므로, 확장 테이블이 초기화되기 전에 변환기를 노출했음 — 그리고 비 PDF 문서 변환에서 ~10MB WASM을 유지.markit-ai, exifr, music-metadata, 및 직접 jszip 종속성 제거. 부작용으로, 이미지 또는 오디오 URL을 가져올 때 더 이상 EXIF/오디오 메타데이터 텍스트를 추가하지 않음; 이미지 인라인 및 크기 조정은 변경되지 않으며, 문서 변환(PDF/DOCX/PPTX/XLSX/EPUB)은 영향을 받지 않음.<out> 블록 감싸기 추가// 주석으로 표시_i 인수 숨김[27;5;106~ 이스케이프 꼬리를 붙여넣은 텍스트 전체에 유출하는 문제 수정(줄바꿈이 줄 나누기 대신 눈에 띄는 가비지가 됨). tmux의 기본값 extended-keys-format=xterm은 붙여넣기 제어 바이트를 modifyOtherKeys 시퀀스(ESC[27;5;<code>~)로 재인코딩하는데, 붙여넣기 살균제가 디코딩하지 않음 — 형제 csi-u 형식(ESC[<code>;5u)만 처리됨. 두 형식이 이제 제어 문자 제거 전에 해당하는 리터럴 제어 바이트(Ctrl+J → "\n")로 다시 디코딩되며, 디코더는 다중 줄 편집기 및 단일 줄 모달 입력으로 공유됨.src/vendor/mermaid-ascii, MIT 라이센스 beautiful-mermaid에서 파생, ASCII 파이프라인만)로 ASCII로 렌더링되며, Bun.stringWidth를 통해 터미널 표시 너비를 측정함(자소 인식, 넓은/동아시아 글리프 및 이모지에 올바름). 인라인 레이블 포맷(HTML 포맷 태그 및 마크다운 강조)은 이제 원시로 인쇄되는 대신 일반 텍스트로 축소됨.beautiful-mermaid 종속성(및 그 이행 elkjs, ~3.13MB) 제거.전체 변경 사항: v16.0.7...v16.0.8