400 The request body is not valid JSON으로 거부되어 세션이 중단됨). 최종 Anthropic 페이로드는 이제 SDK 직렬화 직전에 toWellFormed()로 깊게 sanitize됩니다. 이 과정은 항등적이므로 잘 형성된 인자는 바이트 동일하게 유지되고 프롬프트 캐시 접두사는 영향을 받지 않습니다./collab view 명령어 추가share.serverUrl 및 share.redactSecrets 설정 추가: /share 링크의 공유 서버/뷰어 기반 (기본값 https://my.omp.sh/s) 및 업로드 전 공유 스냅샷에 대해 비밀 난독화기를 실행하는 토글 (기본값 활성화)<session>/<AgentId>.jsonl, 재귀적)이 내보내기 페이로드와 함께 제공되고, 태스크 툴 카드의 에이전트 ID가 드릴다운 링크가 되며, 이동 경로 오버레이가 각 부에이전트의 전체 트랜스크립트(자신의 툴 카드 및 더 깊게 중첩된 에이전트 포함)를 렌더링합니다. Esc/백드롭 네비게이션을 통해 이동할 수 있습니다.codexResets.autoRedeem을 불린에서 unset/yes/no로 변경: unset은 적격 확인을 실행하고 저장된 Codex 재설정을 사용하기 전에 물어보고, yes는 프롬프트 없이 사용하며, no는 확인을 완전히 건너뜁니다./share는 더 이상 plaintext HTML 내보내기를 gistpreview용 gist에 업로드하지 않습니다. 이제 세션 JSON을 스냅샷으로 만들고, gzip으로 압축하고 새로운 AES-256-GCM 키로 봉인한 후, 비밀 gist (gh가 인증된 경우) 또는 공유 서버 (1 MB 제한; 초과 세션은 트림됨 — 이미지 먼저, 그 다음 긴 문자열, 그 다음 가장 오래된 항목)에 블롭을 푸시합니다. 공유 링크는 https://my.omp.sh/s/<id>#<key>입니다: 뷰어는 블롭 (gist API의 16진수 ID, 기타는 릴레이 저장소)을 가져오고 브라우저에서 복호화하므로 키는 클라이언트를 떠나지 않습니다. 구성된 비밀은 share.redactSecrets이 꺼지지 않은 한 스냅샷에서 추가로 편집됩니다. 커스텀 ~/.omp/agent/share.{ts,js,mjs} 핸들러는 레거시 HTML 파일 계약을 유지합니다. /share는 이제 메모리 내 (--no-session) 세션에서도 작동합니다./collab은 이제 두 가지 링크 형식으로 조인 힌트를 출력합니다: 터미널용 콤팩트 omp join 링크 및 클릭하여 조인하는 브라우저 딥 링크 (https://<relay-host>/#<link>, 스킴 없이 표시, OSC 8 링크됨) — 릴레이는 /에서 collab 웹 클라이언트를 제공하고, 방 ID 및 키는 URL 프래그먼트에 있으므로 HTTP 요청에 나타나지 않습니다. /join, omp join 및 웹 연결 화면은 두 형식 모두 허용합니다.fastembed 및 onnxruntime-node는 번들 외부이고 @oh-my-pi/pi-mnemopi의 선택적 피어이며, Mnemopi 로컬 임베딩이 처음 사용될 때만 요청 시 가져옵니다.job 툴 프롬프트는 이제 poll 생략이 실행 중인 모든 작업을 대기함을 문서화하므로 에이전트는 모든 작업 ID를 나열하여 모든 것을 폴링하는 것을 중단합니다.… N more agents (…) 요약 줄 뒤에 상태별 개수로 표시하고, 최종화된 배치는 실패/중단 행을 표시하면서 가장 느린 성공을 접으며, 스트리밍 호출 미리 보기도 동일한 4로 제한합니다 (확장하면 전체 목록을 표시).agent() 헬퍼 (eval 셀의 자체 진행률 트리로 렌더링)는 더 이상 목록에 나타나지 않습니다.job 툴 출력의 완료된 행은 이제 스피너를 대체한 시계 글리프 대신 표준 완료 체크마크를 표시합니다.<omp-tool-view> 웹 컴포넌트로 내보내기에 번들됩니다.Cannot find module '../bin/napi-v3/.../onnxruntime_binding.node'): Bun 번들이 fastembed 로더를 인라인으로 처리하여 상대적 기본 require이 dist/cli.js에 대해 확인되었습니다. fastembed/onnxruntime-node는 더 이상 번들되지 않습니다. 첫 사용 시 Mnemopi가 ~/.omp/cache/fastembed-runtime/<version-key>로 고정된 쌍을 bun install하고 거기서 바인딩을 로드합니다 (#2389).:undefined를 표시하지 않으며, :level 없이 범위가 지정된 항목은 더 이상 전역 기본 thinking 레벨 (Ctrl+P의 순환 배열에 applyRootSessionOptions가 미리 채우는)로 렌더링되지 않습니다 (#2385).https://<relay>/#<room>#<key> 형식으로 파싱하므로 페이지 URL 해시에서 열린 링크가 정확하게 확인됩니다.readOnly 필드를 추가하여 연결된 게스트가 보기 전용 접근 권한을 가지는지 나타냅니다.https://<relay>/#<link>)를 허용하며, /collab이 이제 출력하는 URL과 일치합니다.public/에 있고 빌드 시 dist/로 복사됩니다.src/tool-render/ 추가: 공유 뷰별 React 렌더러 스위트 (기본 제공 도구당 하나의 뷰 — bash, read, 편집 diff, todo 보드, eval 셀, 태스크 배치, LSP, 검색, 브라우저 스크린샷, …). 공통 크롬 (ToolView), 호스트 테마에 맞는 디자인 토큰 및 <omp-tool-view> 웹 컴포넌트 래퍼를 포함합니다. scripts/build-tool-views.ts는 이를 (React 포함) 번들하여 coding-agent HTML 세션 내보내기에 포함합니다.ToolRenderHost 이음새를 통해 엽니다.fastembed 및 onnxruntime-node를 dependencies에서 정확한 버전으로 고정된 선택적 peerDependencies로 이동했습니다. 피어가 없을 때 (번들된 CLI, 컴파일된 바이너리, 또는 선택적 피어를 건너뛴 설치), 로컬 임베딩 경로는 첫 사용 시 ~/.omp/cache/fastembed-runtime/<version-key>로 고정된 쌍을 bun install하고 거기서 fastembed를 로드합니다 — 번들된 배포판의 로컬 임베딩을 복원하고 기본 설치에서 ~270MB의 즉시 기본 다운로드를 제거합니다 (#2389).runtime-install 추가: 공유 온디맨드 런타임 종속성 지원 — ensureRuntimeInstalled() (잠금됨, 멱등성 캐시 디렉토리로의 고정된 종속성 세트 bun install) 및 컴파일된 바이너리 내에서 해당 그래프를 로드하기 위한 다중 루트 installRuntimeModuleResolver()/resolveRuntimeModule() (Bun #1763). coding-agent 작은 모델 작업자에서 추출됨. 이제 Mnemopi의 온디맨드 fastembed 런타임도 지원합니다 (#2389).getFastembedRuntimeDir() (~/.omp/cache/fastembed-runtime)을 getFastembedCacheDir()과 함께 추가합니다.readOnly 플래그를 추가하여 게스트가 읽기 전용 (보기) 링크를 통해 연결되었는지 나타냅니다.GuestFrame hello 페이로드 및 파싱된 협업 링크에 writeToken을 추가하여 전체 접근 링크가 쓰기 능력 토큰을 전달하고 노출할 수 있습니다.ROOM_KEY_BYTES 및 WRITE_TOKEN_BYTES 상수를 추가하여 와이어 프로토콜의 방 키 및 쓰기 토큰 크기를 나타냅니다.DEFAULT_SHARE_URL (https://my.omp.sh/s)을 추가합니다. /share 링크의 기본 공유 뷰어/업로드 기반입니다.Full Changelog: v15.11.8...v15.12.0