SummaryOptions 및 compact/generateSummary에 선택적 fetch 오버라이드를 추가하여 원격 압축이 커스텀 HTTP 클라이언트를 사용할 수 있도록 함ProxyStreamOptions에 선택적 fetch 옵션을 추가하여 streamProxy에서 사용하는 HTTP 요청을 제어할 수 있도록 함requestOpenAiRemoteCompaction 및 requestRemoteCompaction에 선택적 fetch 오버라이드를 추가하여 주입 가능한 HTTP 전송 지원AssistantMessage.upstreamProvider, 예: OpenRouter의 라우팅된 프로바이더)를 pi.gen_ai.response.upstream_provider 채팅-스팬 텔레메트리 속성으로 추가함. 기존 응답 ID 및 time-to-first-chunk와 함께 표시됨fetch 전송 오버라이드(fetch?: FetchImpl)를 추가하여 동적 모델 검색 및 메타데이터 조회가 전역 fetch 대신 호출자가 제공한 HTTP 클라이언트를 사용할 수 있도록 함fetch를 추가하여 토큰 교환, 갱신 및 기기/PKCE 로그인 요청을 커스텀 fetch 구현으로 라우팅할 수 있도록 함fetch 지원을 추가하여 사용량 공급자가 주입된 HTTP 클라이언트를 사용하여 사용량 확인을 실행할 수 있도록 함AssistantMessage.upstreamProvider를 추가하여 애그리게이터가 요청을 라우팅한 업스트림 프로바이더를 캡처함(OpenRouter는 모든 청크의 최상위 수준 provider 필드를 통해 보고함, 예: "Anthropic"). OpenAI-completions 스트림에서 responseId와 함께 표시됨function_call_arguments.delta 프레임을 계속 내보냄 — 일반적으로 todo 도구 호출 직후 나타남) 오류로 인해 턴이 종료되는 대신 복구되도록 수정함. 공백 루프 차단 브레이커는 이제 (a) 공유 요청별 AbortController 중단을 중지함 — requestSignal은 이에 대한 AbortSignal.any이므로 중단하면 래치되어 재사용되는 requestSetup에서 모든 재개가 불가능해짐 — 그리고 (b) 반쯤 구성된 쓸모없는 도구 호출을 삭제하고 CODEX_WHITESPACE_LOOP_RETRY_LIMIT(2)로 제한된 요청을 처음부터 다시 재생함. 샘플링 비결정성은 일반적으로 새로운 시도에서 루프를 해제함. 예산이 소진되면 오류는 이전처럼 표시되지만 쓸모없는 도구 호출로 메시지를 오염시키지 않음OPENAI_MAX_OUTPUT_TOKENS, Anthropic의 CLAUDE_CODE_MAX_OUTPUT_TOKENS 미러링)로 제한함 — openai-completions 요청 빌더(OpenRouter 제외) 및 공유 응답 샘플링 헬퍼(openai-responses, azure-openai-responses). 모델의 카탈로그 maxTokens는 업스트림의 요청당 출력 상한이 아닌 컨텍스트 윈도우를 추적하는 경우가 많으므로 전체 상한 400을 요청하면 오류가 발생함(예: z-ai/glm-4.7이 131072 출력을 요청하면 업스트림의 131072 토큰 전체 컨텍스트를 초과). 출력은 이제 min(requested, model.maxTokens, 64000)임openrouter.ai) completions 요청에서 max_tokens/max_completion_tokens를 전송하지 않음. OpenRouter는 광고된 출력 상한이 요청된 max_tokens 아래인 모든 업스트림을 필터링하므로 카탈로그에서 파생된 값(가장 높은 상한 프로바이더를 반영)은 자동으로 낮은 상한 업스트림을 제외함 — z-ai/glm-4.7의 provider.order: ["cerebras"]는 Cerebras의 약 40k 출력 상한이 요청 아래이므로 DeepInfra로 대체되었고, only: ["cerebras"](대체 대상 없음)는 필터를 우회하고 작동함. 이 필드를 생략하면 각 업스트림이 자체 상한을 설정할 수 있고 프로바이더 라우팅(only/order)이 유지됨. OpenRouter를 통한 Kimi는 예외 — max_tokens에서 TPM 속도 제한을 파생함CustomToolContext에 선택적 fetch 옵션 추가ModelRegistry 구성 및 MCP/웹 검색/도구 네트워크 호출에 선택적 fetch 오버라이드를 추가하여 호출자가 전역 fetch에 의존하지 않고 커스텀 HTTP 클라이언트를 주입할 수 있도록 함bash.enabled 설정 추가@<upstream> 모델 선택기 접미사 추가, 예: --model openrouter/z-ai/glm-4.7@cerebras(OpenRouter provider.only 설정, Vercel AI Gateway 모델은 vercelGatewayRouting.only로 매핑됨). parseModelPattern을 통해 처리되므로 --model/--smol, 모델 역할 및 SDK에 작동하며, 뒤따르는 thinking 레벨과 조합됨(...@cerebras:high). 기본 값은 에그리게이터로 확인되어야 함(openrouter.ai / ai-gateway.vercel.sh). 그렇지 않으면 @는 ID의 일부로 유지되므로 정당하게 @를 포함하는 ID(claude-opus-4-8@default, workers-ai/@cf/...)는 영향을 받지 않음AnthropicApiError는 전체 응답 본문을 errorMessage로 접으면, 인라인 텍스트 렌더는 이를 그대로 다시 인쇄함 — 포함된 모든 공백 줄 포함 — </html>로 끝나는 높은 대부분 비어있는 블록을 남김. 인라인 오류는 이제 공백 줄을 삭제하고, 8줄로 제한하며, getPreviewLines를 통해 각 줄의 너비를 잘라냄. 고정된 오류 배너와 일치함fetch 옵션을 ExtractionClient에 추가fetch 옵션을 extractFacts에 추가complete 및 summarizeMemories로 커스텀 fetch 구현을 전달하는 기능 지원historyRebuild 경로를 사용하도록 허용하지 않음. 새로 추가된 꼬리 줄은 도달 가능하게 유지되는 한편 오래된 기록은 안전한 체크포인트를 기다림. (#2154)globalThis.fetch를 가로챘던 내보낸 hookFetch API 제거hookFetch 제거하여 @.../utils에서의 임포트는 더 이상 이 fetch 가로채기 헬퍼를 제공하지 않음전체 변경 로그: v15.10.7...v15.10.8
bash.enabled 설정 추가