mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 06:15:51 +00:00
refactor: 统一自建 Tool Search — 移除 tool_reference/defer_loading 依赖,全 provider 通用
- 重命名 ExecuteTool → ExecuteExtraTool,作为一等工具始终可用 - ToolSearchTool 输出改为纯文本(区分 core/deferred),移除 tool_reference blocks - 移除 modelSupportsToolReference() 及相关 GrowthBook 配置 - 移除 API 侧 defer_loading 字段和 tool search beta header 注入 - 简化 system prompt(工具使用指南从 ~120 行压缩到 ~10 行) - extractDiscoveredToolNames 支持文本格式解析(向后兼容旧 session 的 tool_reference) - 更新 promptEngineeringAudit 测试以匹配简化后的 prompt 结构 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -230,11 +230,7 @@ export async function toolToAPISchema(
|
||||
}
|
||||
|
||||
// CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS is the kill switch for beta API
|
||||
// shapes. Proxy gateways (ANTHROPIC_BASE_URL → LiteLLM → Bedrock) reject
|
||||
// fields like defer_loading with "Extra inputs are not permitted". The gates
|
||||
// above each field are scattered and not all provider-aware, so this strips
|
||||
// everything not in the base-tool allowlist at the one choke point all tool
|
||||
// schemas pass through — including fields added in the future.
|
||||
// shapes. Strips defer_loading and other beta fields from tool schemas.
|
||||
// cache_control is allowlisted: the base {type: 'ephemeral'} shape is
|
||||
// standard prompt caching (Bedrock/Vertex supported); the beta sub-fields
|
||||
// (scope, ttl) are already gated upstream by shouldIncludeFirstPartyOnlyBetas
|
||||
|
||||
Reference in New Issue
Block a user