diff --git a/package-lock.json b/package-lock.json index 49e34f6..63f058f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "claude-pet", - "version": "2.0.6", + "version": "2.0.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "claude-pet", - "version": "2.0.6", + "version": "2.0.7", "devDependencies": { "electron": "^43.4.1", "electron-builder": "^26.0.12" diff --git a/package.json b/package.json index 4831901..79aecb5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "claude-pet", - "version": "2.0.6", + "version": "2.0.7", "description": "Codex Pets 相容的 Claude Code 桌面寵物(spriteVersionNumber 2:9 個動作列 + 16 方向追視)", "main": "main.js", "private": true, diff --git a/renderer/renderer.js b/renderer/renderer.js index 8b8d553..b59cc73 100644 --- a/renderer/renderer.js +++ b/renderer/renderer.js @@ -429,11 +429,11 @@ function handleEvent(p) { case "PostToolUseFailure": // Codex:單一工具失敗不會改變 turn 的狀態(turn 還在跑),寵物維持 running,只給個氣泡 setState(s, "running"); - say(`😵 ${p.toolName || "工具"} 失敗了`, 4000); + say(`😵 ${p.toolName || "工具"} 失敗了`, 4000, false, title); break; case "PermissionRequest": setState(s, "waiting"); - say(`🔐 需要你授權${p.toolName ? `:${p.toolName}` : ""}`, 0, true); + say(`🔐 需要你授權${p.toolName ? `:${p.toolName}` : ""}`, 0, true, title); break; case "Notification": { const t = p.notificationType; @@ -447,7 +447,7 @@ function handleEvent(p) { setState(s, "waiting"); say("❓ 有問題想問你", 0, true, title); } else if (p.message) { - say(`💬 ${p.message}`, 4000); + say(`💬 ${p.message}`, 4000, false, title); } break; } @@ -461,7 +461,7 @@ function handleEvent(p) { case "StopFailure": // Codex:turn 失敗 → failed 狀態(播 failed 3 次後沉澱),維持到下一個 turn 或 1 小時到期 setState(s, "failed"); - say(`❌ ${p.error || "出錯了"}`, 8000); + say(`❌ ${p.error || "出錯了"}`, 8000, false, title); break; case "SubagentStart": case "SubagentStop": @@ -469,13 +469,13 @@ function handleEvent(p) { break; case "PreCompact": setState(s, "running"); - say("🗜️ 整理記憶中…", 3000); + say("🗜️ 整理記憶中…", 3000, false, title); break; case "SessionEnd": sessions.delete(p.sessionId || "default"); if (sessions.size === 0) { hideBubble(); - say("👋 掰掰", 2000); + say("👋 掰掰", 2000, false, title); } break; default: @@ -495,7 +495,7 @@ function handleTest(p) { } else if (anim in PRIORITY) { const s = session("test"); setState(s, anim); - if (anim === "waiting") say("🔐(測試)需要你授權", 0, true); + if (anim === "waiting") say("🔐(測試)需要你授權", 0, true, "動作測試"); else if (anim === "idle") hideBubble(); } report();