@lyellr88/buddy-mcp 1.4.0 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # buddy-mcp
2
2
 
3
+ ![buddy-mcp hero](assets/hero.svg)
4
+
3
5
  [![npm version](https://img.shields.io/npm/v/@lyellr88/buddy-mcp)](https://www.npmjs.com/package/@lyellr88/buddy-mcp)
4
6
  [![CI](https://github.com/Lyellr88/buddy-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Lyellr88/buddy-mcp/actions/workflows/ci.yml)
5
7
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
@@ -11,6 +13,54 @@ A break from long code sessions. Stuck on a bug? Reroll a buddy, talk with them,
11
13
 
12
14
  ---
13
15
 
16
+ ## Quick Demo
17
+
18
+ <table>
19
+ <tr>
20
+ <td width="33%">
21
+
22
+ <details>
23
+ <summary><strong>Interactive Builder</strong></summary>
24
+ Build your perfect buddy with full control.
25
+
26
+ <video width="100%" controls>
27
+ <source src="assets/buddy_cli_builder.mp4" type="video/mp4">
28
+ Your browser does not support the video tag.
29
+ </video>
30
+ </details>
31
+
32
+ </td>
33
+ <td width="33%">
34
+
35
+ <details>
36
+ <summary><strong>Reroll in Action</strong></summary>
37
+ Roll, close Claude, reopen—new buddy live.
38
+
39
+ <video width="100%" controls>
40
+ <source src="assets/buddy_reroll_action.mp4" type="video/mp4">
41
+ Your browser does not support the video tag.
42
+ </video>
43
+ </details>
44
+
45
+ </td>
46
+ <td width="33%">
47
+
48
+ <details>
49
+ <summary><strong>Interact with Tools</strong></summary>
50
+ Talk, pet, and explore your buddy's dex.
51
+
52
+ <video width="100%" controls>
53
+ <source src="assets/buddy_tools_action.mp4" type="video/mp4">
54
+ Your browser does not support the video tag.
55
+ </video>
56
+ </details>
57
+
58
+ </td>
59
+ </tr>
60
+ </table>
61
+
62
+ ---
63
+
14
64
  ## How It Works
15
65
 
16
66
  Claude Code's companion is generated from a salt string baked into the binary. buddy-mcp:
@@ -38,6 +88,36 @@ Lightweight by design with minimal token usage and data footprint. Most features
38
88
 
39
89
  Built to be fast, local-first, and resilient to change.
40
90
 
91
+ ## Patch Flow
92
+
93
+ buddy-mcp patches the Claude binary directly. Here's what happens when you hit `reroll_buddy`:
94
+
95
+ ```
96
+ reroll_buddy
97
+
98
+ ├─ Roll random traits (species, rarity, eye, hat, shiny chance)
99
+
100
+ ├─ Multi-worker salt search (up to 8 parallel Bun workers)
101
+ │ └─ Each worker brute-forces salts using wyhash until traits match
102
+
103
+ ├─ Try to patch binary immediately
104
+ │ ├─ Success → "Close Claude and reopen"
105
+ │ └─ EPERM (Claude is running) → Save pending patch + start background watcher
106
+ │ └─ Watcher polls every 2s, applies patch the moment Claude closes
107
+
108
+ └─ Profile saved: species, rarity, stats, name, personality
109
+
110
+ On next session start (hook fires):
111
+
112
+ ├─ Salt still valid → no-op (fast path)
113
+
114
+ ├─ Pending patch found → apply it
115
+
116
+ └─ Salt mismatch (Claude auto-updated)
117
+ ├─ Try .buddy-mcp-bak (only if it contains original salt)
118
+ ├─ Try .anybuddy-bak (fallback for prior patcher users)
119
+ └─ Restore + re-patch automatically, no reinstall required
120
+
41
121
  ---
42
122
 
43
123
  ## TUI Builder (`buddy-mcp-build`)
@@ -93,9 +173,24 @@ Claude will auto-detect the installed binary and connect it.
93
173
 
94
174
  ### 4. Verify
95
175
 
96
- Open Claude Code and ask: **"show me my buddy card"**
176
+ Open Claude Code. Your buddy is live—use Claude Code's native `/buddy` command to see your card, or ask Claude: **"show me my buddy"**
177
+
178
+ You should see your companion's species, rarity, stats, and personality. You're in.
179
+
180
+ ### 4b. Natural Language Activation
181
+
182
+ All buddy tools work through natural language. Claude's NLP detects intent automatically:
97
183
 
98
- You should see a card with your current companion's species, rarity, and stats. You're in.
184
+ | Natural Language | Activates |
185
+ |------------------|-----------|
186
+ | "reroll buddy" / "let's roll again" | `reroll_buddy` |
187
+ | "talk to my buddy" / "what does buddy think" | `buddy_talk` |
188
+ | "pet buddy" / "pet them" | `pet_buddy` |
189
+ | "my buddy dex" / "show me my collection" | `view_buddy_dex` |
190
+ | "export buddy card" / "save my buddy" | `export_buddy_card` |
191
+ | "export sprite" / "save the sprite" | `export_buddy_sprite` |
192
+
193
+ No tool names required — just chat naturally.
99
194
 
100
195
  ### 5. Launch the TUI Builder (optional)
101
196
 
@@ -141,61 +236,10 @@ Each buddy has 5 stats: **Debugging, Patience, Chaos, Wisdom, Snark**. A peak st
141
236
 
142
237
  **20 baked-in tools.** Only **2 are visible** at a time: 1 randomly picked from each of your buddy's **top 2 stats by raw value**. The other 18 stay hidden. The visible pair is **locked per roll**. It doesn't change until you reroll. Every buddy shows a different pair.
143
238
 
144
- | Tool | Stat | What it does |
145
- |------|------|-------------|
146
- | `deep_trace` | Debugging | Focused bug hunting. Abrupt, clinical, slightly haunted. |
147
- | `trace_nightmare` | Debugging | When the trace stops making sense. Surreal debugging perspective |
148
- | `null_hunt` | Debugging | Hunt for null refs. Clinical. Relentless |
149
- | `stack_dive` | Debugging | Dive into the callstack. The bug is always deeper than you think |
150
- | `patience_check` | Patience | Check if your buddy is still willing to help |
151
- | `wait_wisdom` | Patience | Slow down. Receive patience-encoded insight |
152
- | `vibe_check` | Patience | The mystery action. Your buddy reads the vibe. 5% cosmic event |
153
- | `still_point` | Patience | Stop. Be still. Let the answer come to you |
154
- | `chaos_audit` | Chaos | Unpredictable. Might help. Might not. Science |
155
- | `chaos_roulette` | Chaos | Spin the chaos wheel. Receive a wildly lateral suggestion |
156
- | `chaos_spark` | Chaos | Ignite a lateral idea. May or may not be relevant |
157
- | `entropy_roll` | Chaos | Roll against entropy. The universe responds |
158
- | `zen_consult` | Wisdom | Philosophical insight into your architecture |
159
- | `zen_mirror` | Wisdom | Turn the question inward. A reflection, not an answer |
160
- | `oracle_seek` | Wisdom | Seek the oracle. The answer is already inside you |
161
- | `deep_thought` | Wisdom | Think slower. The answer requires depth |
162
- | `snark_roast` | Snark | Light sarcastic critique of your current work |
163
- | `snark_savage` | Snark | No mercy. Full roast. For when you need the unfiltered truth |
164
- | `side_eye` | Snark | Your buddy looks at your code. Then at you. Then back at the code |
165
- | `snark_verdict` | Snark | Final ruling from the bench. The buddy has reviewed and judged |
166
-
167
239
  ---
168
240
 
169
- ## Patch Flow
170
-
171
- buddy-mcp patches the Claude binary directly. Here's what happens when you hit `reroll_buddy`:
172
241
 
173
242
  ```
174
- reroll_buddy
175
-
176
- ├─ Roll random traits (species, rarity, eye, hat, shiny chance)
177
-
178
- ├─ Multi-worker salt search (up to 8 parallel Bun workers)
179
- │ └─ Each worker brute-forces salts using wyhash until traits match
180
-
181
- ├─ Try to patch binary immediately
182
- │ ├─ Success → "Close Claude and reopen"
183
- │ └─ EPERM (Claude is running) → Save pending patch + start background watcher
184
- │ └─ Watcher polls every 2s, applies patch the moment Claude closes
185
-
186
- └─ Profile saved: species, rarity, stats, name, personality
187
-
188
- On next session start (hook fires):
189
-
190
- ├─ Salt still valid → no-op (fast path)
191
-
192
- ├─ Pending patch found → apply it
193
-
194
- └─ Salt mismatch (Claude auto-updated)
195
- ├─ Try .buddy-mcp-bak (only if it contains original salt)
196
- ├─ Try .anybuddy-bak (fallback for prior patcher users)
197
- └─ Restore + re-patch automatically, no reinstall required
198
- ```
199
243
 
200
244
 
201
245
  ---
@@ -212,7 +256,22 @@ buddy-mcp stores everything in your home directory:
212
256
 
213
257
  ---
214
258
 
215
- ## Manual Apply (Fallback)
259
+ ## Troubleshooting
260
+
261
+ ### Buddy doesn't change after reroll
262
+
263
+ If you rerolled but your buddy didn't update on restart:
264
+
265
+ 1. **Close all Claude Code instances completely** (check Task Manager on Windows)
266
+ - Even minimized or backgrounded windows count — they keep the binary locked
267
+ - Wait a few seconds for processes to fully exit
268
+ 2. **Reopen Claude Code**
269
+ - The pending patch will apply automatically via the hook
270
+ - Or manually run `npm run apply` then reopen
271
+
272
+ The binary stays locked as long as any Claude instance is running, preventing the patch from being applied.
273
+
274
+ ### Manual Apply (Fallback)
216
275
 
217
276
  If the background watcher didn't fire for some reason, you can apply a pending patch manually:
218
277
 
Binary file
Binary file
Binary file
@@ -0,0 +1,172 @@
1
+ <svg viewBox="0 0 1200 700" xmlns="http://www.w3.org/2000/svg">
2
+
3
+ <!-- Glowing accent lines in rarity colors -->
4
+ <line x1="40" y1="40" x2="40" y2="220" stroke="#FF55FF" stroke-width="3" opacity="0.4"/>
5
+ <line x1="600" y1="40" x2="600" y2="220" stroke="#FFD700" stroke-width="3" opacity="0.4"/>
6
+ <line x1="1160" y1="40" x2="1160" y2="220" stroke="#5599FF" stroke-width="3" opacity="0.4"/>
7
+
8
+ <!-- Top Info Section - cleaner modern style -->
9
+ <rect x="40" y="40" width="1120" height="180" rx="8" fill="#0d1117" stroke="#30363d" stroke-width="1"/>
10
+
11
+ <!-- Rarity color accent bar at top -->
12
+ <rect x="40" y="40" width="1120" height="4" rx="2" fill="url(#rarity-gradient)"/>
13
+
14
+ <defs>
15
+ <linearGradient id="rarity-gradient" x1="0%" y1="0%" x2="100%" y2="0%">
16
+ <stop offset="0%" style="stop-color:#FF55FF;stop-opacity:1" />
17
+ <stop offset="25%" style="stop-color:#FFD700;stop-opacity:1" />
18
+ <stop offset="35%" style="stop-color:#55FF55;stop-opacity:1" />
19
+ <stop offset="100%" style="stop-color:#5599FF;stop-opacity:1" />
20
+ </linearGradient>
21
+ </defs>
22
+
23
+ <!-- Icon badges (minimal, clean) -->
24
+ <!-- Roll badge -->
25
+ <circle cx="70" cy="60" r="12" fill="none" stroke="#FF55FF" stroke-width="2" opacity="0.6"/>
26
+ <text x="70" y="64" font-family="Arial, Helvetica, sans-serif" font-size="16" fill="#FF55FF" text-anchor="middle">🎲</text>
27
+
28
+ <!-- Build badge -->
29
+ <circle cx="96" cy="60" r="12" fill="none" stroke="#FFD700" stroke-width="2" opacity="0.6"/>
30
+ <text x="96" y="64" font-family="Arial, Helvetica, sans-serif" font-size="16" fill="#FFD700" text-anchor="middle">✨</text>
31
+
32
+ <!-- Collect badge -->
33
+ <circle cx="122" cy="60" r="12" fill="none" stroke="#5599FF" stroke-width="2" opacity="0.6"/>
34
+ <text x="122" y="64" font-family="Arial, Helvetica, sans-serif" font-size="16" fill="#5599FF" text-anchor="middle">📖</text>
35
+
36
+ <!-- Heading -->
37
+ <text x="60" y="130" font-family="Monaco, 'Courier New', monospace" font-size="48" font-weight="bold" fill="#79c0ff">buddy-mcp</text>
38
+
39
+ <!-- Slogan right corner -->
40
+ <text x="1100" y="130" font-family="Arial, Helvetica, sans-serif" font-size="16" fill="#8b949e" text-anchor="end">Roll your buddy.</text>
41
+ <text x="1100" y="155" font-family="Arial, Helvetica, sans-serif" font-size="16" fill="#8b949e" text-anchor="end">Build unique.</text>
42
+ <text x="1100" y="180" font-family="Arial, Helvetica, sans-serif" font-size="16" fill="#8b949e" text-anchor="end">Collect them all.</text>
43
+
44
+ <!-- Divider under info section -->
45
+ <line x1="40" y1="220" x2="1160" y2="220" stroke="#30363d" stroke-width="1"/>
46
+
47
+ <!-- Main Content Section (3 Columns) -->
48
+
49
+ <!-- Left Column: Roll/Gacha Concept -->
50
+ <rect x="40" y="220" width="360" height="440" fill="#161b22" stroke="#30363d" stroke-width="2"/>
51
+
52
+ <!-- Roll title -->
53
+ <text x="220" y="260" font-family="Arial, Helvetica, sans-serif" font-size="20" font-weight="bold" fill="#79c0ff" text-anchor="middle">ROLL</text>
54
+
55
+ <!-- Dice illustration -->
56
+ <g transform="translate(220, 317)">
57
+ <!-- Dice 1 -->
58
+ <rect x="-45" y="-20" width="35" height="35" fill="none" stroke="#FF55FF" stroke-width="2" rx="2"/>
59
+ <circle cx="-27" cy="-5" r="3" fill="#FF55FF"/>
60
+
61
+ <!-- Dice 2 -->
62
+ <rect x="10" y="-15" width="35" height="35" fill="none" stroke="#5599FF" stroke-width="2" rx="2"/>
63
+ <circle cx="22" cy="-5" r="3" fill="#5599FF"/>
64
+ <circle cx="30" cy="5" r="3" fill="#5599FF"/>
65
+
66
+ <!-- Dice 3 -->
67
+ <rect x="-24" y="29" width="35" height="35" fill="none" stroke="#55FF55" stroke-width="2" rx="2"/>
68
+ <circle cx="6" cy="33" r="3" fill="#55FF55"/>
69
+ <circle cx="-7" cy="46" r="3" fill="#55FF55"/>
70
+ <circle cx="-20" cy="59" r="3" fill="#55FF55"/>
71
+ </g>
72
+
73
+ <!-- Roll description -->
74
+ <text x="220" y="427" font-family="Arial, Helvetica, sans-serif" font-size="13" fill="#c9d1d9" text-anchor="middle" font-style="italic">
75
+ <tspan x="220" dy="0">Roll for rare buddies</tspan>
76
+ <tspan x="220" dy="15">with affection tokens</tspan>
77
+ <tspan x="220" dy="15">and stat-based traits.</tspan>
78
+ </text>
79
+
80
+ <!-- Roll specs -->
81
+ <text x="220" y="497" font-family="Arial, Helvetica, sans-serif" font-size="12" fill="#6e7681" text-anchor="middle">
82
+ <tspan x="220" dy="0">18 species • 5 rarities</tspan>
83
+ <tspan x="220" dy="12">100+ stat combinations</tspan>
84
+ </text>
85
+
86
+ <!-- Vertical divider between left and center -->
87
+ <line x1="400" y1="220" x2="400" y2="660" stroke="#30363d" stroke-width="1"/>
88
+
89
+ <!-- Center Column: Featured Buddy -->
90
+ <rect x="400" y="220" width="400" height="440" fill="#161b22" stroke="#30363d" stroke-width="2"/>
91
+
92
+ <!-- Featured buddy title -->
93
+ <text x="600" y="260" font-family="Arial, Helvetica, sans-serif" font-size="20" font-weight="bold" fill="#79c0ff" text-anchor="middle">FEATURED</text>
94
+
95
+ <!-- Dragon sprite embedded from buddy-flumox-sprite-new.svg -->
96
+ <svg x="470" y="280" width="260" height="150" viewBox="0 0 150 132" xmlns="http://www.w3.org/2000/svg">
97
+ <text font-family="'Cascadia Code','Fira Code','Courier New',monospace" font-size="14" fill="#FF55FF" xml:space="preserve">
98
+ <tspan x="24" y="36" fill="#FF55FF"> \^^^/ </tspan>
99
+ <tspan x="24" y="56" fill="#FF55FF"> /^\ /^\ </tspan>
100
+ <tspan x="24" y="76" fill="#FF55FF"> &lt; ◉ ◉ &gt; </tspan>
101
+ <tspan x="24" y="96" fill="#FF55FF"> ( ~~ ) </tspan>
102
+ <tspan x="24" y="116" fill="#FF55FF"> `-vvvv-´ </tspan>
103
+ </text>
104
+ </svg>
105
+
106
+ <!-- Buddy stats display -->
107
+ <text x="600" y="450" font-family="Arial, Helvetica, sans-serif" font-size="12" fill="#c9d1d9" text-anchor="middle">
108
+ <tspan x="600" dy="0">Epic Dragon • Flumox</tspan>
109
+ <tspan x="600" dy="20">CHAOS 100 | DEBUG 69</tspan>
110
+ </text>
111
+
112
+ <!-- Vertical divider between center and right -->
113
+ <line x1="800" y1="220" x2="800" y2="660" stroke="#30363d" stroke-width="1"/>
114
+
115
+ <!-- Right Column: Collect/Dex Concept -->
116
+ <rect x="800" y="220" width="360" height="440" fill="#161b22" stroke="#30363d" stroke-width="2"/>
117
+
118
+ <!-- Collect title -->
119
+ <text x="980" y="260" font-family="Arial, Helvetica, sans-serif" font-size="20" font-weight="bold" fill="#79c0ff" text-anchor="middle">COLLECT</text>
120
+
121
+ <!-- Dex border box -->
122
+ <rect x="825" y="303" width="310" height="220" fill="none" stroke="#30363d" stroke-width="2" rx="4"/>
123
+
124
+ <!-- Dex header line -->
125
+ <line x1="835" y1="318" x2="1125" y2="318" stroke="#79c0ff" stroke-width="1" opacity="0.5"/>
126
+
127
+ <!-- Alternating row backgrounds -->
128
+ <rect x="830" y="323" width="300" height="14" fill="#1f2632" opacity="0.3"/>
129
+ <rect x="830" y="351" width="300" height="14" fill="#1f2632" opacity="0.3"/>
130
+ <rect x="830" y="379" width="300" height="14" fill="#1f2632" opacity="0.3"/>
131
+
132
+ <!-- BuddyDex Grid with colored discovered species -->
133
+ <text x="980" y="334" font-family="Monaco, 'Courier New', monospace" font-size="12" fill="#c9d1d9" text-anchor="middle">
134
+ <tspan x="980" dy="0" fill="#55FF55">[X] duck</tspan><tspan fill="#c9d1d9"> [ ] ??? </tspan><tspan fill="#5599FF">[X] cat</tspan>
135
+ </text>
136
+ <text x="980" y="348" font-family="Monaco, 'Courier New', monospace" font-size="12" fill="#c9d1d9" text-anchor="middle">
137
+ <tspan x="980" dy="0">[ ] ??? </tspan><tspan fill="#FF55FF">[X] dragon</tspan><tspan fill="#c9d1d9"> [ ] ???</tspan>
138
+ </text>
139
+ <text x="980" y="362" font-family="Monaco, 'Courier New', monospace" font-size="12" fill="#c9d1d9" text-anchor="middle">
140
+ <tspan x="980" dy="0" fill="#FFD700">[X] turtle</tspan><tspan fill="#c9d1d9"> [ ] ??? </tspan><tspan fill="#55FF55">[X] octopus</tspan>
141
+ </text>
142
+ <text x="980" y="376" font-family="Monaco, 'Courier New', monospace" font-size="12" fill="#6e7681" text-anchor="middle">
143
+ <tspan x="980" dy="0">[ ] ??? [ ] ??? [ ] ???</tspan>
144
+ </text>
145
+ <text x="980" y="390" font-family="Monaco, 'Courier New', monospace" font-size="12" fill="#6e7681" text-anchor="middle">
146
+ <tspan x="980" dy="0">[ ] ??? [ ] ??? [ ] ???</tspan>
147
+ </text>
148
+ <text x="980" y="404" font-family="Monaco, 'Courier New', monospace" font-size="12" fill="#6e7681" text-anchor="middle">
149
+ <tspan x="980" dy="0">[ ] ??? [ ] ??? [ ] ???</tspan>
150
+ </text>
151
+
152
+ <!-- Progress bar visual -->
153
+ <rect x="835" y="438" width="300" height="8" fill="#1f2632" stroke="#30363d" stroke-width="1" rx="2"/>
154
+ <rect x="835" y="438" width="83" height="8" fill="#79c0ff" rx="2"/>
155
+
156
+ <!-- Progress text -->
157
+ <text x="980" y="458" font-family="Monaco, 'Courier New', monospace" font-size="11" fill="#8b949e" text-anchor="middle">
158
+ <tspan x="980" dy="0">5/18 Discovered • ✨ 0 Shinies</tspan>
159
+ </text>
160
+
161
+ <!-- Collection description -->
162
+ <text x="980" y="546" font-family="Arial, Helvetica, sans-serif" font-size="12" fill="#c9d1d9" text-anchor="middle" font-style="italic">
163
+ <tspan x="980" dy="0">Persistent discovery tracker</tspan>
164
+ </text>
165
+
166
+ <!-- Bottom info section -->
167
+ <rect x="40" y="660" width="1120" height="40" rx="8" fill="#161b22" stroke="#30363d" stroke-width="2"/>
168
+
169
+ <text x="60" y="685" font-family="Arial, Helvetica, sans-serif" font-size="11" fill="#6e7681">
170
+ <tspan x="60" dy="0">MCP Server • Stat-based personalities • Binary patching • npm: buddy-mcp</tspan>
171
+ </text>
172
+ </svg>
package/dist/mcp/index.js CHANGED
@@ -33,6 +33,36 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
33
33
  };
34
34
  });
35
35
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
36
+ // Refresh S.currentBuddy from disk before each tool call (in case CLI created a new buddy)
37
+ try {
38
+ const petConfig = loadPetConfigV2();
39
+ const activeSalt = petConfig?.activeProfile;
40
+ const activeProfile = activeSalt ? petConfig?.profiles[activeSalt] : undefined;
41
+ if (activeProfile) {
42
+ S.currentBuddy = { ...activeProfile };
43
+ }
44
+ else if (activeSalt) {
45
+ // Profile not found in dict, but salt is set — derive from roll() as fallback
46
+ const userId = getClaudeUserId();
47
+ const rolled = roll(userId, activeSalt);
48
+ const companionName = getCompanionName();
49
+ S.currentBuddy = {
50
+ salt: activeSalt,
51
+ species: rolled.bones.species,
52
+ rarity: rolled.bones.rarity,
53
+ eye: rolled.bones.eye,
54
+ hat: rolled.bones.hat,
55
+ shiny: rolled.bones.shiny,
56
+ stats: rolled.bones.stats,
57
+ name: companionName,
58
+ personality: DEFAULT_PERSONALITIES[rolled.bones.species],
59
+ createdAt: new Date().toISOString(),
60
+ };
61
+ }
62
+ }
63
+ catch {
64
+ // If refresh fails, continue with stale S.currentBuddy
65
+ }
36
66
  const toolEntry = dynamicTools.get(request.params.name);
37
67
  if (!toolEntry)
38
68
  throw new Error(`Tool not found: ${request.params.name}`);
@@ -80,6 +110,7 @@ function applyPendingPatch({ silent = false } = {}) {
80
110
  }
81
111
  saveProfile(pending.profile, { activate: true });
82
112
  // Update gacha state file directly (no server in memory)
113
+ let gachaUpdateSucceeded = true;
83
114
  if (existsSync(GACHA_STATE_FILE)) {
84
115
  try {
85
116
  const raw = JSON.parse(readFileSync(GACHA_STATE_FILE, 'utf-8'));
@@ -105,9 +136,13 @@ function applyPendingPatch({ silent = false } = {}) {
105
136
  }
106
137
  catch {
107
138
  // Non-fatal — gacha state will self-heal on next server start
139
+ gachaUpdateSucceeded = false;
108
140
  }
109
141
  }
110
- unlinkSync(PENDING_PATCH_FILE);
142
+ // Only delete pending patch file if the entire operation (patch + gacha update) succeeded
143
+ if (gachaUpdateSucceeded) {
144
+ unlinkSync(PENDING_PATCH_FILE);
145
+ }
111
146
  if (!silent) {
112
147
  console.log(`✅ ${rarity} ${species}${shinyTag} is now active!`);
113
148
  console.log('Restart Claude Code to see your new companion.');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { writeFileSync, existsSync, statSync } from 'fs';
1
+ import { writeFileSync, existsSync, statSync, renameSync, unlinkSync } from 'fs';
2
2
  import { join, dirname } from 'path';
3
3
  import { fileURLToPath } from 'url';
4
4
  import { spawn } from 'child_process';
@@ -263,8 +263,6 @@ const rerollBuddyTool = {
263
263
  personality: DEFAULT_PERSONALITIES[bones.species],
264
264
  createdAt: new Date().toISOString(),
265
265
  };
266
- const elapsed = (finderResult.elapsed / 1000).toFixed(1);
267
- const attempts = finderResult.totalAttempts?.toLocaleString() ?? finderResult.attempts.toLocaleString();
268
266
  const shinyTag = profile.shiny ? ' ✨ SHINY! ✨' : '';
269
267
  if (!patched) {
270
268
  // Save pending patch then spawn a detached watcher that auto-applies when Claude closes
@@ -276,7 +274,20 @@ const rerollBuddyTool = {
276
274
  rolledAt: new Date().toISOString(),
277
275
  };
278
276
  try {
279
- writeFileSync(PENDING_PATCH_FILE, JSON.stringify(pending, null, 2));
277
+ const tmp = PENDING_PATCH_FILE + '.tmp';
278
+ try {
279
+ writeFileSync(tmp, JSON.stringify(pending, null, 2));
280
+ renameSync(tmp, PENDING_PATCH_FILE);
281
+ }
282
+ catch (writeErr) {
283
+ try {
284
+ unlinkSync(tmp);
285
+ }
286
+ catch {
287
+ /* ignore */
288
+ }
289
+ throw writeErr;
290
+ }
280
291
  gachaState.sessionAffectionAccumulator = 0;
281
292
  // Lock stat tools for new buddy now — stable until next reroll
282
293
  S.currentBuddy = { ...profile };
@@ -310,7 +321,7 @@ const rerollBuddyTool = {
310
321
  `**Close Claude Code, then run:** \`npm run apply\` in the buddy-mcp directory, then reopen.`,
311
322
  ];
312
323
  return [
313
- `🎲 Found a **${profile.rarity} ${profile.species}**${shinyTag} after ~${attempts} attempts in ${elapsed}s!`,
324
+ `🎲 You got a **${profile.rarity} ${profile.species}**${shinyTag}!`,
314
325
  ``,
315
326
  `⚠️ Binary is locked - Claude Code is still running.`,
316
327
  ``,
@@ -340,7 +351,7 @@ const rerollBuddyTool = {
340
351
  }
341
352
  autoManifestTools(S.currentBuddy);
342
353
  return [
343
- `🎲 Found a **${profile.rarity} ${profile.species}**${shinyTag} after ~${attempts} attempts in ${elapsed}s!`,
354
+ `🎲 You got a **${profile.rarity} ${profile.species}**${shinyTag}!`,
344
355
  ``,
345
356
  `✅ Binary patched! Restart Claude Code to see your new companion.`,
346
357
  ].join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/mcp/tools/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/mcp/tools/core.ts"],"names":[],"mappings":"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"}