Skip to content

Commit 117053d

Browse files
committed
<think>
1 parent b6314c6 commit 117053d

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

.DS_Store

6 KB
Binary file not shown.

git-commit-push-script.sh

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,8 +279,23 @@ if [ -n "$SQUISH_BIN" ]; then
279279
squish_stderr=$(cat /tmp/squish_stderr.txt 2>/dev/null)
280280
rm -f /tmp/squish_response.txt /tmp/squish_stderr.txt
281281

282-
# Extract content field from JSON response with sed — no Python
283-
commit_message=$(printf '%s' "$raw_response" | sed 's/.*"content":"\([^"]*\)".*/\1/' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
282+
# Extract content from JSON robustly, then strip any CoT tags.
283+
# Prefer jq when available; keep a shell-only fallback.
284+
if command -v jq >/dev/null 2>&1; then
285+
commit_message=$(printf '%s' "$raw_response" | jq -r '.choices[0].message.content // .message.content // empty' 2>/dev/null)
286+
else
287+
commit_message=$(printf '%s' "$raw_response" | sed -n 's/.*"content":"\([^"]*\)".*/\1/p')
288+
commit_message=${commit_message//\\n/$'\n'}
289+
commit_message=${commit_message//\\r/$'\r'}
290+
commit_message=${commit_message//\\t/$'\t'}
291+
commit_message=${commit_message//\\\//\/}
292+
commit_message=${commit_message//\\\"/\"}
293+
commit_message=${commit_message//\\u003c/<}
294+
commit_message=${commit_message//\\u003e/>}
295+
fi
296+
297+
# Remove <think>...</think> even when it spans multiple lines.
298+
commit_message=$(printf '%s' "$commit_message" | perl -0777 -pe 's#<think>.*?</think>\s*##gs' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
284299

285300
print_info "squish exit code: ${CYAN}$exit_code${NC}"
286301
if [ -n "$commit_message" ]; then

0 commit comments

Comments
 (0)