fix(build): strip \r\n from all .py files — CRLF breaks patch_ops.sh text matching

31 files had Windows line endings (\r\n) from merge commit. This causes
patch_ops.sh replace_once() to fail: anchor strings use \n but file
content has \r\n, so no match → patch fails → docker build fails.

Also added .gitattributes to force LF for all text files going forward.
This commit is contained in:
Claude
2026-08-14 01:06:49 +00:00
parent aa4b4992d1
commit 872be0effa
32 changed files with 13814 additions and 13804 deletions

View File

@@ -1,23 +1,23 @@
"""
Patches vLLM 0.6.3 to register Qwen3CoderToolParser under the name "qwen3_coder".
"""
Patches vLLM 0.6.3 to register Qwen3CoderToolParser under the name "qwen3_coder".
Deploy steps on the remote machine (already called by patch_ops.sh):
1. patch_ops.sh locates vLLM with importlib.util.find_spec.
2. cp qwen3coder_tool_parser.py into the detected vllm tool_parsers.
2. python3 patch_vllm_tool_parser.py
Usage after patching:
--tool-call-parser qwen3_coder --enable-auto-tool-choice
"""
Usage after patching:
--tool-call-parser qwen3_coder --enable-auto-tool-choice
"""
from patch_utils import ensure_dir, package_root, replace_once
VLLM_ROOT = package_root("vllm")
TOOL_PARSERS_DIR = VLLM_ROOT / "entrypoints" / "openai" / "tool_parsers"
INIT_FILE = TOOL_PARSERS_DIR / "__init__.py"
def main():
def main():
ensure_dir(TOOL_PARSERS_DIR)
print(f"=== Patching {INIT_FILE} ===")
@@ -35,23 +35,23 @@ def main():
' "Qwen3CoderToolParser"\n]',
required=True,
already_contains='"Qwen3CoderToolParser"')
print("\n=== Verification ===")
try:
import importlib.util
spec = importlib.util.spec_from_file_location(
"qwen3coder_tool_parser",
print("\n=== Verification ===")
try:
import importlib.util
spec = importlib.util.spec_from_file_location(
"qwen3coder_tool_parser",
str(TOOL_PARSERS_DIR / "qwen3coder_tool_parser.py"),
)
mod = importlib.util.module_from_spec(spec)
print(f" Module spec loaded: {spec.name}")
print(" (full import requires torch/vllm runtime — skipping exec)")
except Exception as e:
)
mod = importlib.util.module_from_spec(spec)
print(f" Module spec loaded: {spec.name}")
print(" (full import requires torch/vllm runtime — skipping exec)")
except Exception as e:
print(f" [optional] spec check failed: {e}")
print("\nDone. Start vLLM server with:")
print(" --tool-call-parser qwen3_coder --enable-auto-tool-choice")
if __name__ == "__main__":
main()
print("\nDone. Start vLLM server with:")
print(" --tool-call-parser qwen3_coder --enable-auto-tool-choice")
if __name__ == "__main__":
main()