@lyellr88/buddy-mcp 1.4.2 → 1.4.3
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 +36 -97
- package/assets/hero.svg +72 -83
- package/dist/config/pet-config.d.ts.map +1 -1
- package/dist/config/pet-config.js +1 -6
- package/dist/config/pet-config.js.map +1 -1
- package/dist/finder/worker.js +0 -1
- package/dist/finder/worker.js.map +1 -1
- package/dist/mcp/index.js +12 -37
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/persistence.d.ts.map +1 -1
- package/dist/mcp/persistence.js +7 -17
- package/dist/mcp/persistence.js.map +1 -1
- package/dist/mcp/state.d.ts.map +1 -1
- package/dist/mcp/state.js +0 -1
- package/dist/mcp/state.js.map +1 -1
- package/dist/mcp/tools/auto.d.ts.map +1 -1
- package/dist/mcp/tools/auto.js +1 -2
- package/dist/mcp/tools/auto.js.map +1 -1
- package/dist/mcp/tools/core.js +12 -27
- package/dist/mcp/tools/core.js.map +1 -1
- package/dist/mcp/tools/export.js +2 -10
- package/dist/mcp/tools/export.js.map +1 -1
- package/dist/mcp/tools/interact.js +3 -4
- package/dist/mcp/tools/interact.js.map +1 -1
- package/dist/mcp/tools/relay.d.ts.map +1 -1
- package/dist/mcp/tools/relay.js +1 -3
- package/dist/mcp/tools/relay.js.map +1 -1
- package/dist/mcp/tools/stats.d.ts.map +1 -1
- package/dist/mcp/tools/stats.js +3 -13
- package/dist/mcp/tools/stats.js.map +1 -1
- package/dist/mcp/watcher.js +9 -12
- package/dist/mcp/watcher.js.map +1 -1
- package/dist/patcher/binary-finder.d.ts.map +1 -1
- package/dist/patcher/binary-finder.js +3 -9
- package/dist/patcher/binary-finder.js.map +1 -1
- package/dist/patcher/patch.d.ts.map +1 -1
- package/dist/patcher/patch.js +5 -14
- package/dist/patcher/patch.js.map +1 -1
- package/dist/patcher/preflight.d.ts.map +1 -1
- package/dist/patcher/preflight.js +2 -9
- package/dist/patcher/preflight.js.map +1 -1
- package/dist/personalities.d.ts.map +1 -1
- package/dist/personalities.js +0 -7
- package/dist/personalities.js.map +1 -1
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +0 -17
- package/dist/presets.js.map +1 -1
- package/dist/tui/animator.d.ts +0 -6
- package/dist/tui/animator.d.ts.map +1 -1
- package/dist/tui/animator.js +0 -6
- package/dist/tui/animator.js.map +1 -1
- package/dist/tui/apply/index.d.ts.map +1 -1
- package/dist/tui/apply/index.js +9 -33
- package/dist/tui/apply/index.js.map +1 -1
- package/dist/tui/builder/index.d.ts.map +1 -1
- package/dist/tui/builder/index.js +4 -22
- package/dist/tui/builder/index.js.map +1 -1
- package/dist/tui/builder/keyboard.d.ts.map +1 -1
- package/dist/tui/builder/keyboard.js +0 -1
- package/dist/tui/builder/keyboard.js.map +1 -1
- package/dist/tui/builder/preview-panel.d.ts.map +1 -1
- package/dist/tui/builder/preview-panel.js +3 -18
- package/dist/tui/builder/preview-panel.js.map +1 -1
- package/dist/tui/builder/selection-panel.d.ts.map +1 -1
- package/dist/tui/builder/selection-panel.js +0 -21
- package/dist/tui/builder/selection-panel.js.map +1 -1
- package/dist/tui/commands/buddies.d.ts.map +1 -1
- package/dist/tui/commands/buddies.js +5 -12
- package/dist/tui/commands/buddies.js.map +1 -1
- package/dist/tui/commands/current.js +1 -1
- package/dist/tui/commands/current.js.map +1 -1
- package/dist/tui/commands/interactive.d.ts.map +1 -1
- package/dist/tui/commands/interactive.js +10 -21
- package/dist/tui/commands/interactive.js.map +1 -1
- package/dist/tui/commands/preview.d.ts.map +1 -1
- package/dist/tui/commands/preview.js +1 -5
- package/dist/tui/commands/preview.js.map +1 -1
- package/dist/tui/commands/restore.d.ts.map +1 -1
- package/dist/tui/commands/restore.js +0 -1
- package/dist/tui/commands/restore.js.map +1 -1
- package/dist/tui/commands/share.d.ts.map +1 -1
- package/dist/tui/commands/share.js +1 -4
- package/dist/tui/commands/share.js.map +1 -1
- package/dist/tui/commands/start-screen.d.ts.map +1 -1
- package/dist/tui/commands/start-screen.js +3 -5
- package/dist/tui/commands/start-screen.js.map +1 -1
- package/dist/tui/gallery/index.d.ts.map +1 -1
- package/dist/tui/gallery/index.js +1 -9
- package/dist/tui/gallery/index.js.map +1 -1
- package/dist/tui/gallery/profile-list-panel.d.ts.map +1 -1
- package/dist/tui/gallery/profile-list-panel.js +0 -1
- package/dist/tui/gallery/profile-list-panel.js.map +1 -1
- package/dist/tui/gallery/profile-preview-panel.d.ts.map +1 -1
- package/dist/tui/gallery/profile-preview-panel.js +2 -15
- package/dist/tui/gallery/profile-preview-panel.js.map +1 -1
- package/dist/tui/presets/index.d.ts.map +1 -1
- package/dist/tui/presets/index.js +1 -3
- package/dist/tui/presets/index.js.map +1 -1
- package/dist/tui/prompts.d.ts.map +1 -1
- package/dist/tui/prompts.js +0 -1
- package/dist/tui/prompts.js.map +1 -1
- package/dist/tui/start/index.d.ts.map +1 -1
- package/dist/tui/start/index.js +1 -3
- package/dist/tui/start/index.js.map +1 -1
- package/package.json +26 -8
package/README.md
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# buddy-mcp
|
|
2
|
-
|
|
3
1
|

|
|
4
2
|
|
|
5
|
-
[](https://www.npmjs.com/package/@lyellr88/buddy-mcp)
|
|
6
3
|
[](https://github.com/Lyellr88/buddy-mcp/actions/workflows/ci.yml)
|
|
4
|
+
[](https://www.npmjs.com/package/@lyellr88/buddy-mcp)
|
|
5
|
+
[](https://www.npmjs.com/package/@lyellr88/buddy-mcp)
|
|
6
|
+
[](https://nodejs.org/)
|
|
7
7
|
[](LICENSE)
|
|
8
|
-
[](https://nodejs.org/)
|
|
9
8
|
|
|
10
9
|
A break from long code sessions. Stuck on a bug? Reroll a buddy, talk with them, or pet them to build affection and improve your odds at higher-tier buddies on the next roll. If enough people want it, I'll build out Battle-Buddies where you can pit your buddy against others and unlock exclusive species that sync back into your local pool.
|
|
11
10
|
|
|
@@ -19,46 +18,35 @@ A break from long code sessions. Stuck on a bug? Reroll a buddy, talk with them,
|
|
|
19
18
|
<tr>
|
|
20
19
|
<td width="33%">
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
**Interactive Builder**
|
|
22
|
+
|
|
24
23
|
Build your perfect buddy with full control.
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
<source src="assets/buddy_cli_builder.mp4" type="video/mp4">
|
|
28
|
-
Your browser does not support the video tag.
|
|
29
|
-
</video>
|
|
30
|
-
</details>
|
|
25
|
+
[](https://github.com/user-attachments/assets/840de2d0-617b-40fd-b653-c091af9abbfc)
|
|
31
26
|
|
|
32
27
|
</td>
|
|
33
28
|
<td width="33%">
|
|
34
29
|
|
|
35
|
-
|
|
36
|
-
<summary><strong>Reroll in Action</strong></summary>
|
|
37
|
-
Roll, close Claude, reopen—new buddy live.
|
|
30
|
+
**Reroll in Action**
|
|
38
31
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
</video>
|
|
43
|
-
</details>
|
|
32
|
+
Roll, close Claude, reopen and enjoy your new buddy.
|
|
33
|
+
|
|
34
|
+
[](https://github.com/user-attachments/assets/83adc99e-2c49-4255-bf48-eca41d10580b)
|
|
44
35
|
|
|
45
36
|
</td>
|
|
46
37
|
<td width="33%">
|
|
47
38
|
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
**Interact with Tools**
|
|
40
|
+
|
|
50
41
|
Talk, pet, and explore your buddy's dex.
|
|
51
42
|
|
|
52
|
-
|
|
53
|
-
<source src="assets/buddy_tools_action.mp4" type="video/mp4">
|
|
54
|
-
Your browser does not support the video tag.
|
|
55
|
-
</video>
|
|
56
|
-
</details>
|
|
43
|
+
[](https://github.com/user-attachments/assets/485c608f-55ed-40ed-a592-936814ea9601)
|
|
57
44
|
|
|
58
45
|
</td>
|
|
59
46
|
</tr>
|
|
60
47
|
</table>
|
|
61
48
|
|
|
49
|
+
|
|
62
50
|
---
|
|
63
51
|
|
|
64
52
|
## How It Works
|
|
@@ -73,50 +61,11 @@ Claude Code's companion is generated from a salt string baked into the binary. b
|
|
|
73
61
|
|
|
74
62
|
No companion server. No cloud. Just you, your binary, and the gacha gods.
|
|
75
63
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
## Developer Insight
|
|
79
|
-
|
|
80
|
-
buddy-mcp isn’t just a UI mod. It’s a deterministic companion system layered on top of Claude Code’s binary, with:
|
|
64
|
+
Token footprint is kept intentionally small of 29 registered tools, Claude only ever sees ~9 at a time. The other 20 stay hidden until you reroll. See [TECHNICAL.md](TECHNICAL.md) for the full breakdown.
|
|
81
65
|
|
|
82
|
-
|
|
83
|
-
- Persistent state and BuddyDex tracking
|
|
84
|
-
- Locked tool sets per roll (no session drift)
|
|
85
|
-
- A self-healing patch pipeline that detects, restores, and reapplies across updates
|
|
86
|
-
|
|
87
|
-
Lightweight by design with minimal token usage and data footprint. Most features operate inline through message augmentation rather than separate invocation flows.
|
|
88
|
-
|
|
89
|
-
Built to be fast, local-first, and resilient to change.
|
|
90
|
-
|
|
91
|
-
## Patch Flow
|
|
92
|
-
|
|
93
|
-
buddy-mcp patches the Claude binary directly. Here's what happens when you hit `reroll_buddy`:
|
|
66
|
+
---
|
|
94
67
|
|
|
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
|
|
68
|
+
> 🛠️ **Looking for the technical deep-dive?** See [TECHNICAL.md](TECHNICAL.md) for the patch flow diagrams, binary patching logic, and state file reference.
|
|
120
69
|
|
|
121
70
|
---
|
|
122
71
|
|
|
@@ -239,52 +188,42 @@ Each buddy has 5 stats: **Debugging, Patience, Chaos, Wisdom, Snark**. A peak st
|
|
|
239
188
|
---
|
|
240
189
|
|
|
241
190
|
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
---
|
|
246
|
-
|
|
247
|
-
## State Files
|
|
248
|
-
|
|
249
|
-
buddy-mcp stores everything in your home directory:
|
|
250
|
-
|
|
251
|
-
| File | Purpose |
|
|
252
|
-
|------|---------|
|
|
253
|
-
| `~/.buddy-mcp.json` | Your buddy profiles (species, rarity, stats, name, salt) |
|
|
254
|
-
| `~/.buddy_mcp_gacha.json` | Gacha extras: shiny count, BuddyDex, manifested tools |
|
|
255
|
-
| `~/.buddy_mcp_pending.json` | Queued patch waiting for Claude to close |
|
|
256
|
-
|
|
257
|
-
---
|
|
258
191
|
|
|
259
192
|
## Troubleshooting
|
|
260
193
|
|
|
261
194
|
### Buddy doesn't change after reroll
|
|
262
195
|
|
|
263
|
-
|
|
196
|
+
**Normal flow (Windows):** When you reroll and Claude is running:
|
|
197
|
+
|
|
198
|
+
1. Reroll triggers a background watcher — no action needed from you
|
|
199
|
+
2. Close Claude Code whenever — watcher detects it and applies the patch automatically
|
|
200
|
+
3. Reopen Claude Code — your new buddy is live
|
|
264
201
|
|
|
265
|
-
|
|
202
|
+
If it doesn't appear after reopening:
|
|
203
|
+
|
|
204
|
+
1. **Verify Claude is fully closed** (check Task Manager on Windows)
|
|
266
205
|
- Even minimized or backgrounded windows count — they keep the binary locked
|
|
267
|
-
- Wait a few seconds
|
|
206
|
+
- Wait a few seconds after closing
|
|
268
207
|
2. **Reopen Claude Code**
|
|
269
|
-
- The
|
|
270
|
-
-
|
|
271
|
-
|
|
272
|
-
The binary stays locked as long as any Claude instance is running, preventing the patch from being applied.
|
|
208
|
+
- The startup hook auto-applies any pending patches
|
|
209
|
+
- You should see your new companion immediately
|
|
273
210
|
|
|
274
|
-
###
|
|
211
|
+
### Prefer immediate patching?
|
|
275
212
|
|
|
276
|
-
If
|
|
213
|
+
If you want to guarantee a patch applies without waiting for the watcher, close Claude *before* rerolling:
|
|
277
214
|
|
|
278
215
|
```bash
|
|
279
|
-
|
|
216
|
+
# Option 1: Use the interactive TUI builder (simplest)
|
|
217
|
+
buddy-mcp-build
|
|
218
|
+
|
|
219
|
+
# Option 2: Close Claude, then use the reroll_buddy tool
|
|
220
|
+
# (patch applies immediately without needing the watcher)
|
|
280
221
|
```
|
|
281
222
|
|
|
282
|
-
|
|
223
|
+
This is the only time you need manual steps — the watcher handles all other cases.
|
|
283
224
|
|
|
284
225
|
---
|
|
285
226
|
|
|
286
227
|
## Credits
|
|
287
228
|
|
|
288
229
|
Forked and extended from [any-buddy](https://github.com/cpaczek/any-buddy) by cpaczek.
|
|
289
|
-
|
|
290
|
-
Licensed under [WTFPL](http://www.wtfpl.net/).
|
package/assets/hero.svg
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
<svg viewBox="0 0 1200 700" xmlns="http://www.w3.org/2000/svg">
|
|
2
2
|
|
|
3
3
|
<!-- Glowing accent lines in rarity colors -->
|
|
4
|
-
<line x1="
|
|
5
|
-
<line x1="600" y1="
|
|
6
|
-
<line x1="
|
|
4
|
+
<line x1="0" y1="4" x2="0" y2="220" stroke="#FF55FF" stroke-width="3" opacity="0.4"/>
|
|
5
|
+
<line x1="600" y1="4" x2="600" y2="220" stroke="#FFD700" stroke-width="3" opacity="0.4"/>
|
|
6
|
+
<line x1="1200" y1="4" x2="1200" y2="220" stroke="#5599FF" stroke-width="3" opacity="0.4"/>
|
|
7
7
|
|
|
8
8
|
<!-- Top Info Section - cleaner modern style -->
|
|
9
|
-
<rect x="
|
|
9
|
+
<rect x="0" y="0" width="1200" height="220" rx="0" fill="#0d1117" stroke="none"/>
|
|
10
10
|
|
|
11
11
|
<!-- Rarity color accent bar at top -->
|
|
12
|
-
<rect x="
|
|
12
|
+
<rect x="0" y="0" width="1200" height="4" rx="0" fill="url(#rarity-gradient)"/>
|
|
13
13
|
|
|
14
14
|
<defs>
|
|
15
15
|
<linearGradient id="rarity-gradient" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
@@ -22,79 +22,79 @@
|
|
|
22
22
|
|
|
23
23
|
<!-- Icon badges (minimal, clean) -->
|
|
24
24
|
<!-- Roll badge -->
|
|
25
|
-
<circle cx="
|
|
26
|
-
<text x="
|
|
25
|
+
<circle cx="60" cy="60" r="12" fill="none" stroke="#FF55FF" stroke-width="2" opacity="0.6"/>
|
|
26
|
+
<text x="60" y="64" font-family="Arial, Helvetica, sans-serif" font-size="16" fill="#FF55FF" text-anchor="middle">🎲</text>
|
|
27
27
|
|
|
28
28
|
<!-- Build badge -->
|
|
29
|
-
<circle cx="
|
|
30
|
-
<text x="
|
|
29
|
+
<circle cx="100" cy="60" r="12" fill="none" stroke="#FFD700" stroke-width="2" opacity="0.6"/>
|
|
30
|
+
<text x="100" y="64" font-family="Arial, Helvetica, sans-serif" font-size="16" fill="#FFD700" text-anchor="middle">✨</text>
|
|
31
31
|
|
|
32
32
|
<!-- Collect badge -->
|
|
33
|
-
<circle cx="
|
|
34
|
-
<text x="
|
|
33
|
+
<circle cx="140" cy="60" r="12" fill="none" stroke="#5599FF" stroke-width="2" opacity="0.6"/>
|
|
34
|
+
<text x="140" y="64" font-family="Arial, Helvetica, sans-serif" font-size="16" fill="#5599FF" text-anchor="middle">📖</text>
|
|
35
35
|
|
|
36
36
|
<!-- Heading -->
|
|
37
|
-
<text x="
|
|
37
|
+
<text x="40" y="130" font-family="Monaco, 'Courier New', monospace" font-size="48" font-weight="bold" fill="#79c0ff">buddy-mcp</text>
|
|
38
38
|
|
|
39
39
|
<!-- Slogan right corner -->
|
|
40
|
-
<text x="
|
|
41
|
-
<text x="
|
|
42
|
-
<text x="
|
|
40
|
+
<text x="1150" y="70" font-family="Arial, Helvetica, sans-serif" font-size="22" font-weight="bold" fill="#8b949e" text-anchor="end">Roll your buddy.</text>
|
|
41
|
+
<text x="1150" y="105" font-family="Arial, Helvetica, sans-serif" font-size="22" font-weight="bold" fill="#8b949e" text-anchor="end">Build unique.</text>
|
|
42
|
+
<text x="1150" y="140" font-family="Arial, Helvetica, sans-serif" font-size="22" font-weight="bold" fill="#8b949e" text-anchor="end">Collect them all.</text>
|
|
43
43
|
|
|
44
44
|
<!-- Divider under info section -->
|
|
45
|
-
<line x1="
|
|
45
|
+
<line x1="0" y1="220" x2="1200" y2="220" stroke="#30363d" stroke-width="1"/>
|
|
46
46
|
|
|
47
47
|
<!-- Main Content Section (3 Columns) -->
|
|
48
48
|
|
|
49
49
|
<!-- Left Column: Roll/Gacha Concept -->
|
|
50
|
-
<rect x="
|
|
50
|
+
<rect x="0" y="220" width="400" height="480" fill="#161b22" stroke="none"/>
|
|
51
51
|
|
|
52
52
|
<!-- Roll title -->
|
|
53
|
-
<text x="
|
|
53
|
+
<text x="200" y="275" font-family="Arial, Helvetica, sans-serif" font-size="28" font-weight="bold" fill="#79c0ff" text-anchor="middle">ROLL</text>
|
|
54
54
|
|
|
55
|
-
<!-- Dice illustration -->
|
|
56
|
-
<g transform="translate(
|
|
55
|
+
<!-- Dice illustration scaled up -->
|
|
56
|
+
<g transform="translate(200, 385) scale(1.2)">
|
|
57
57
|
<!-- Dice 1 -->
|
|
58
|
-
<rect x="-
|
|
59
|
-
<circle cx="-
|
|
58
|
+
<rect x="-55" y="-30" width="45" height="45" fill="none" stroke="#FF55FF" stroke-width="2.5" rx="2"/>
|
|
59
|
+
<circle cx="-32" cy="-10" r="4" fill="#FF55FF"/>
|
|
60
60
|
|
|
61
61
|
<!-- Dice 2 -->
|
|
62
|
-
<rect x="10" y="-
|
|
63
|
-
<circle cx="
|
|
64
|
-
<circle cx="
|
|
62
|
+
<rect x="10" y="-20" width="45" height="45" fill="none" stroke="#5599FF" stroke-width="2.5" rx="2"/>
|
|
63
|
+
<circle cx="27" cy="-5" r="4" fill="#5599FF"/>
|
|
64
|
+
<circle cx="37" cy="8" r="4" fill="#5599FF"/>
|
|
65
65
|
|
|
66
66
|
<!-- Dice 3 -->
|
|
67
|
-
<rect x="-
|
|
68
|
-
<circle cx="
|
|
69
|
-
<circle cx="-
|
|
70
|
-
<circle cx="-
|
|
67
|
+
<rect x="-28" y="35" width="45" height="45" fill="none" stroke="#55FF55" stroke-width="2.5" rx="2"/>
|
|
68
|
+
<circle cx="8" cy="42" r="4" fill="#55FF55"/>
|
|
69
|
+
<circle cx="-5" cy="58" r="4" fill="#55FF55"/>
|
|
70
|
+
<circle cx="-22" cy="74" r="4" fill="#55FF55"/>
|
|
71
71
|
</g>
|
|
72
72
|
|
|
73
|
-
<!-- Roll description -->
|
|
74
|
-
<text x="
|
|
75
|
-
<tspan x="
|
|
76
|
-
<tspan x="
|
|
77
|
-
<tspan x="
|
|
73
|
+
<!-- Roll description enlarged and centered -->
|
|
74
|
+
<text x="200" y="540" font-family="Arial, Helvetica, sans-serif" font-size="16" fill="#c9d1d9" text-anchor="middle" font-style="italic">
|
|
75
|
+
<tspan x="200" dy="0">Roll for rare buddies</tspan>
|
|
76
|
+
<tspan x="200" dy="22">with affection tokens</tspan>
|
|
77
|
+
<tspan x="200" dy="22">and stat-based traits.</tspan>
|
|
78
78
|
</text>
|
|
79
79
|
|
|
80
|
-
<!-- Roll specs -->
|
|
81
|
-
<text x="
|
|
82
|
-
<tspan x="
|
|
83
|
-
<tspan x="
|
|
80
|
+
<!-- Roll specs enlarged -->
|
|
81
|
+
<text x="200" y="625" font-family="Arial, Helvetica, sans-serif" font-size="14" fill="#6e7681" text-anchor="middle">
|
|
82
|
+
<tspan x="200" dy="0">18 species • 5 rarities</tspan>
|
|
83
|
+
<tspan x="200" dy="18">100+ stat combinations</tspan>
|
|
84
84
|
</text>
|
|
85
85
|
|
|
86
86
|
<!-- Vertical divider between left and center -->
|
|
87
|
-
<line x1="400" y1="220" x2="400" y2="
|
|
87
|
+
<line x1="400" y1="220" x2="400" y2="700" stroke="#30363d" stroke-width="1"/>
|
|
88
88
|
|
|
89
89
|
<!-- Center Column: Featured Buddy -->
|
|
90
|
-
<rect x="400" y="220" width="400" height="
|
|
90
|
+
<rect x="400" y="220" width="400" height="480" fill="#161b22" stroke="none"/>
|
|
91
91
|
|
|
92
92
|
<!-- Featured buddy title -->
|
|
93
|
-
<text x="600" y="
|
|
93
|
+
<text x="600" y="275" font-family="Arial, Helvetica, sans-serif" font-size="28" font-weight="bold" fill="#79c0ff" text-anchor="middle">BUILD</text>
|
|
94
94
|
|
|
95
95
|
<!-- Dragon sprite embedded from buddy-flumox-sprite-new.svg -->
|
|
96
|
-
<svg x="470" y="
|
|
97
|
-
<text font-family="'Cascadia Code','Fira Code','Courier New',monospace" font-size="
|
|
96
|
+
<svg x="470" y="300" width="260" height="200" 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="16" fill="#FF55FF" xml:space="preserve">
|
|
98
98
|
<tspan x="24" y="36" fill="#FF55FF"> \^^^/ </tspan>
|
|
99
99
|
<tspan x="24" y="56" fill="#FF55FF"> /^\ /^\ </tspan>
|
|
100
100
|
<tspan x="24" y="76" fill="#FF55FF"> < ◉ ◉ > </tspan>
|
|
@@ -103,70 +103,59 @@
|
|
|
103
103
|
</text>
|
|
104
104
|
</svg>
|
|
105
105
|
|
|
106
|
-
<!-- Buddy stats display -->
|
|
107
|
-
<text x="600" y="
|
|
106
|
+
<!-- Buddy stats display enlarged -->
|
|
107
|
+
<text x="600" y="540" font-family="Arial, Helvetica, sans-serif" font-size="16" fill="#c9d1d9" text-anchor="middle">
|
|
108
108
|
<tspan x="600" dy="0">Epic Dragon • Flumox</tspan>
|
|
109
|
-
<tspan x="600" dy="
|
|
109
|
+
<tspan x="600" dy="28" font-weight="bold">CHAOS 100 | DEBUG 69</tspan>
|
|
110
110
|
</text>
|
|
111
111
|
|
|
112
112
|
<!-- Vertical divider between center and right -->
|
|
113
|
-
<line x1="800" y1="220" x2="800" y2="
|
|
113
|
+
<line x1="800" y1="220" x2="800" y2="700" stroke="#30363d" stroke-width="1"/>
|
|
114
114
|
|
|
115
115
|
<!-- Right Column: Collect/Dex Concept -->
|
|
116
|
-
<rect x="800" y="220" width="
|
|
116
|
+
<rect x="800" y="220" width="400" height="480" fill="#161b22" stroke="none"/>
|
|
117
117
|
|
|
118
118
|
<!-- Collect title -->
|
|
119
|
-
<text x="
|
|
119
|
+
<text x="1000" y="268" font-family="Arial, Helvetica, sans-serif" font-size="28" font-weight="bold" fill="#79c0ff" text-anchor="middle">COLLECT</text>
|
|
120
120
|
|
|
121
|
-
<!-- Dex border box -->
|
|
122
|
-
<rect x="
|
|
121
|
+
<!-- Dex border box resized -->
|
|
122
|
+
<rect x="820" y="315" width="360" height="240" fill="none" stroke="#30363d" stroke-width="2" rx="4"/>
|
|
123
123
|
|
|
124
124
|
<!-- Dex header line -->
|
|
125
|
-
<line x1="835" y1="
|
|
125
|
+
<line x1="835" y1="330" x2="1165" y2="330" stroke="#79c0ff" stroke-width="1" opacity="0.5"/>
|
|
126
126
|
|
|
127
|
-
<!--
|
|
128
|
-
<
|
|
129
|
-
|
|
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>
|
|
127
|
+
<!-- BuddyDex Grid perfectly centered (no x on tspans) -->
|
|
128
|
+
<text x="1000" y="355" font-family="Monaco, 'Courier New', monospace" font-size="14" fill="#c9d1d9" text-anchor="middle">
|
|
129
|
+
<tspan fill="#55FF55">[X] duck</tspan><tspan fill="#c9d1d9"> [ ] ??? </tspan><tspan fill="#5599FF">[X] cat</tspan>
|
|
135
130
|
</text>
|
|
136
|
-
<text x="
|
|
137
|
-
<tspan
|
|
131
|
+
<text x="1000" y="380" font-family="Monaco, 'Courier New', monospace" font-size="14" fill="#c9d1d9" text-anchor="middle">
|
|
132
|
+
<tspan>[ ] ??? </tspan><tspan fill="#FF55FF">[X] dragon</tspan><tspan> [ ] ???</tspan>
|
|
138
133
|
</text>
|
|
139
|
-
<text x="
|
|
140
|
-
<tspan
|
|
134
|
+
<text x="1000" y="405" font-family="Monaco, 'Courier New', monospace" font-size="14" fill="#c9d1d9" text-anchor="middle">
|
|
135
|
+
<tspan fill="#FFD700">[X] turtle</tspan><tspan> [ ] ??? </tspan><tspan fill="#55FF55">[X] octopus</tspan>
|
|
141
136
|
</text>
|
|
142
|
-
<text x="
|
|
143
|
-
|
|
137
|
+
<text x="1000" y="430" font-family="Monaco, 'Courier New', monospace" font-size="14" fill="#6e7681" text-anchor="middle">
|
|
138
|
+
[ ] ??? [ ] ??? [ ] ???
|
|
144
139
|
</text>
|
|
145
|
-
<text x="
|
|
146
|
-
|
|
140
|
+
<text x="1000" y="455" font-family="Monaco, 'Courier New', monospace" font-size="14" fill="#6e7681" text-anchor="middle">
|
|
141
|
+
[ ] ??? [ ] ??? [ ] ???
|
|
147
142
|
</text>
|
|
148
|
-
<text x="
|
|
149
|
-
|
|
143
|
+
<text x="1000" y="480" font-family="Monaco, 'Courier New', monospace" font-size="14" fill="#6e7681" text-anchor="middle">
|
|
144
|
+
[ ] ??? [ ] ??? [ ] ???
|
|
150
145
|
</text>
|
|
151
146
|
|
|
152
147
|
<!-- Progress bar visual -->
|
|
153
|
-
<rect x="
|
|
154
|
-
<rect x="
|
|
148
|
+
<rect x="850" y="505" width="300" height="10" fill="#1f2632" stroke="#30363d" stroke-width="1" rx="2"/>
|
|
149
|
+
<rect x="850" y="505" width="83" height="10" fill="#79c0ff" rx="2"/>
|
|
155
150
|
|
|
156
151
|
<!-- Progress text -->
|
|
157
|
-
<text x="
|
|
158
|
-
|
|
152
|
+
<text x="1000" y="535" font-family="Monaco, 'Courier New', monospace" font-size="13" fill="#8b949e" text-anchor="middle">
|
|
153
|
+
5/18 Discovered • ✨ 0 Shinies
|
|
159
154
|
</text>
|
|
160
155
|
|
|
161
|
-
<!-- Collection description -->
|
|
162
|
-
<text x="
|
|
163
|
-
|
|
156
|
+
<!-- Collection description updated to monospace, no italics -->
|
|
157
|
+
<text x="1000" y="595" font-family="Monaco, 'Courier New', monospace" font-size="15" fill="#79c0ff" text-anchor="middle">
|
|
158
|
+
PERSISTENT DISCOVERY TRACKER
|
|
164
159
|
</text>
|
|
165
160
|
|
|
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
161
|
</svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pet-config.d.ts","sourceRoot":"","sources":["../../src/config/pet-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"pet-config.d.ts","sourceRoot":"","sources":["../../src/config/pet-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMtE,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAEnD;AAED,wBAAgB,aAAa,IAAI,SAAS,GAAG,IAAI,CAOhD;AAgED,wBAAgB,eAAe,IAAI,WAAW,GAAG,IAAI,CAiBpD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAEvD;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,EAAE,QAAgB,EAAE,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAChD,IAAI,CAmBN;AAED,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAGzD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAazD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAWhD"}
|
|
@@ -4,7 +4,6 @@ import { homedir } from 'os';
|
|
|
4
4
|
import { ORIGINAL_SALT } from '../constants.js';
|
|
5
5
|
import { getCompanionName, getCompanionPersonality } from "./claude-config.js";
|
|
6
6
|
const OUR_CONFIG = join(homedir(), '.buddy-mcp.json');
|
|
7
|
-
// --- v1 compat (used by apply --silent fast path) ---
|
|
8
7
|
export function savePetConfig(data) {
|
|
9
8
|
writeFileSync(OUR_CONFIG, JSON.stringify(data, null, 2) + '\n');
|
|
10
9
|
}
|
|
@@ -18,7 +17,6 @@ export function loadPetConfig() {
|
|
|
18
17
|
return null;
|
|
19
18
|
}
|
|
20
19
|
}
|
|
21
|
-
// --- v2 with profiles (keyed by salt) ---
|
|
22
20
|
function migrateV1(v1) {
|
|
23
21
|
const migrated = {
|
|
24
22
|
version: 2,
|
|
@@ -56,22 +54,19 @@ function migrateNameKeyedProfiles(config) {
|
|
|
56
54
|
const entries = Object.entries(config.profiles);
|
|
57
55
|
if (entries.length === 0)
|
|
58
56
|
return false;
|
|
59
|
-
// If all keys already look like salts, no migration needed
|
|
60
57
|
if (entries.every(([key]) => saltPattern.test(key)))
|
|
61
58
|
return false;
|
|
62
59
|
const newProfiles = {};
|
|
63
60
|
for (const [key, profile] of entries) {
|
|
64
61
|
if (saltPattern.test(key)) {
|
|
65
|
-
// Already salt-keyed
|
|
66
62
|
newProfiles[key] = profile;
|
|
67
63
|
}
|
|
68
64
|
else {
|
|
69
|
-
// Old name-keyed entry
|
|
65
|
+
// Old name-keyed entry: re-key by salt, store old key as display name
|
|
70
66
|
newProfiles[profile.salt] = {
|
|
71
67
|
...profile,
|
|
72
68
|
name: profile.name ?? key,
|
|
73
69
|
};
|
|
74
|
-
// Fix activeProfile if it pointed to the old name
|
|
75
70
|
if (config.activeProfile === key) {
|
|
76
71
|
config.activeProfile = profile.salt;
|
|
77
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pet-config.js","sourceRoot":"","sources":["../../src/config/pet-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAEtD,
|
|
1
|
+
{"version":3,"file":"pet-config.js","sourceRoot":"","sources":["../../src/config/pet-config.ts"],"names":[],"mappings":"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"}
|
package/dist/finder/worker.js
CHANGED
|
@@ -34,7 +34,6 @@ function randomSalt() {
|
|
|
34
34
|
}
|
|
35
35
|
return s;
|
|
36
36
|
}
|
|
37
|
-
// Filter out --fnv1a from args
|
|
38
37
|
const args = process.argv.slice(2).filter((a) => a !== '--fnv1a');
|
|
39
38
|
const [userId, wantSpecies, wantRarity, wantEye, wantHat, wantShiny, wantPeak, wantDump] = args;
|
|
40
39
|
if (!userId || !wantSpecies || !wantRarity || !wantEye || !wantHat) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/finder/worker.ts"],"names":[],"mappings":";AACA,+DAA+D;AAC/D,6CAA6C;AAC7C,+EAA+E;AAC/E,EAAE;AACF,gFAAgF;AAChF,4CAA4C;AAG5C,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAElD,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CAAC,GAAiB;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC;IAClB,IAAI,IAAI,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;IACzB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC;IAC9B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,OAAO,GAAG,kEAAkE,CAAC;AACnF,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,SAAS,UAAU;IACjB,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/finder/worker.ts"],"names":[],"mappings":"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"}
|