| 123456789101112131415161718192021222324252627282930 |
- #!/usr/bin/env python3
- import sys
- p = "/data/ai/audio/server/src/modules/book-generator/nodes/rich-outline.node.ts"
- src = open(p).read()
- old = """ // 移除 markdown 代码块标记
- cleaned = cleaned.replace(/```json\\s*/gi, '').replace(/```\\s*/g, '');
- // 策略1:jsonrepair 修复后直接解析"""
- new = """ // 移除 markdown 代码块标记
- cleaned = cleaned.replace(/```json\\s*/gi, '').replace(/```\\s*/g, '');
- // 策略0:手工清理已知瑕疵(jsonrepair 偶尔漏掉的情况)
- // 1. 修复 `,""` 这种空 key/空 value 残留(volcengine 等模型常见瑕疵)
- cleaned = cleaned.replace(/,\\s*""\\s*([,\\}])/g, '$1');
- // 2. 修复 `:""` 这种空 value(改成 null)
- cleaned = cleaned.replace(/:\\s*""\\s*([,\\}])/g, ':null$1');
- // 3. 修复连续逗号
- cleaned = cleaned.replace(/,\\s*,/g, ',');
- // 策略1:jsonrepair 修复后直接解析"""
- if old not in src:
- print("ERROR: old block not found")
- sys.exit(1)
- src = src.replace(old, new, 1)
- open(p, 'w').write(src)
- print("patched rich-outline.node.ts OK")
|