@lyellr88/buddy-mcp 1.1.0

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.
Files changed (258) hide show
  1. package/README.md +219 -0
  2. package/dist/config/claude-config.d.ts +7 -0
  3. package/dist/config/claude-config.d.ts.map +1 -0
  4. package/dist/config/claude-config.js +107 -0
  5. package/dist/config/claude-config.js.map +1 -0
  6. package/dist/config/hooks.d.ts +22 -0
  7. package/dist/config/hooks.d.ts.map +1 -0
  8. package/dist/config/hooks.js +58 -0
  9. package/dist/config/hooks.js.map +1 -0
  10. package/dist/config/index.d.ts +4 -0
  11. package/dist/config/index.d.ts.map +1 -0
  12. package/dist/config/index.js +6 -0
  13. package/dist/config/index.js.map +1 -0
  14. package/dist/config/pet-config.d.ts +12 -0
  15. package/dist/config/pet-config.d.ts.map +1 -0
  16. package/dist/config/pet-config.js +150 -0
  17. package/dist/config/pet-config.js.map +1 -0
  18. package/dist/constants.d.ts +24 -0
  19. package/dist/constants.d.ts.map +1 -0
  20. package/dist/constants.js +94 -0
  21. package/dist/constants.js.map +1 -0
  22. package/dist/finder/estimator.d.ts +3 -0
  23. package/dist/finder/estimator.d.ts.map +1 -0
  24. package/dist/finder/estimator.js +27 -0
  25. package/dist/finder/estimator.js.map +1 -0
  26. package/dist/finder/index.d.ts +3 -0
  27. package/dist/finder/index.d.ts.map +1 -0
  28. package/dist/finder/index.js +3 -0
  29. package/dist/finder/index.js.map +1 -0
  30. package/dist/finder/orchestrator.d.ts +8 -0
  31. package/dist/finder/orchestrator.d.ts.map +1 -0
  32. package/dist/finder/orchestrator.js +163 -0
  33. package/dist/finder/orchestrator.js.map +1 -0
  34. package/dist/finder/worker.d.ts +3 -0
  35. package/dist/finder/worker.d.ts.map +1 -0
  36. package/dist/finder/worker.js +130 -0
  37. package/dist/finder/worker.js.map +1 -0
  38. package/dist/generation/hash.d.ts +5 -0
  39. package/dist/generation/hash.d.ts.map +1 -0
  40. package/dist/generation/hash.js +37 -0
  41. package/dist/generation/hash.js.map +1 -0
  42. package/dist/generation/index.d.ts +4 -0
  43. package/dist/generation/index.d.ts.map +1 -0
  44. package/dist/generation/index.js +4 -0
  45. package/dist/generation/index.js.map +1 -0
  46. package/dist/generation/rng.d.ts +4 -0
  47. package/dist/generation/rng.d.ts.map +1 -0
  48. package/dist/generation/rng.js +14 -0
  49. package/dist/generation/rng.js.map +1 -0
  50. package/dist/generation/roll.d.ts +7 -0
  51. package/dist/generation/roll.d.ts.map +1 -0
  52. package/dist/generation/roll.js +51 -0
  53. package/dist/generation/roll.js.map +1 -0
  54. package/dist/mcp/index.d.ts +5 -0
  55. package/dist/mcp/index.d.ts.map +1 -0
  56. package/dist/mcp/index.js +273 -0
  57. package/dist/mcp/index.js.map +1 -0
  58. package/dist/mcp/persistence.d.ts +6 -0
  59. package/dist/mcp/persistence.d.ts.map +1 -0
  60. package/dist/mcp/persistence.js +129 -0
  61. package/dist/mcp/persistence.js.map +1 -0
  62. package/dist/mcp/state.d.ts +74 -0
  63. package/dist/mcp/state.d.ts.map +1 -0
  64. package/dist/mcp/state.js +20 -0
  65. package/dist/mcp/state.js.map +1 -0
  66. package/dist/mcp/tools/auto.d.ts +4 -0
  67. package/dist/mcp/tools/auto.d.ts.map +1 -0
  68. package/dist/mcp/tools/auto.js +15 -0
  69. package/dist/mcp/tools/auto.js.map +1 -0
  70. package/dist/mcp/tools/core.d.ts +2 -0
  71. package/dist/mcp/tools/core.d.ts.map +1 -0
  72. package/dist/mcp/tools/core.js +350 -0
  73. package/dist/mcp/tools/core.js.map +1 -0
  74. package/dist/mcp/tools/export.d.ts +2 -0
  75. package/dist/mcp/tools/export.d.ts.map +1 -0
  76. package/dist/mcp/tools/export.js +161 -0
  77. package/dist/mcp/tools/export.js.map +1 -0
  78. package/dist/mcp/tools/interact.d.ts +2 -0
  79. package/dist/mcp/tools/interact.d.ts.map +1 -0
  80. package/dist/mcp/tools/interact.js +56 -0
  81. package/dist/mcp/tools/interact.js.map +1 -0
  82. package/dist/mcp/tools/stats.d.ts +4 -0
  83. package/dist/mcp/tools/stats.d.ts.map +1 -0
  84. package/dist/mcp/tools/stats.js +87 -0
  85. package/dist/mcp/tools/stats.js.map +1 -0
  86. package/dist/mcp/watcher.d.ts +3 -0
  87. package/dist/mcp/watcher.d.ts.map +1 -0
  88. package/dist/mcp/watcher.js +117 -0
  89. package/dist/mcp/watcher.js.map +1 -0
  90. package/dist/patcher/binary-finder.d.ts +3 -0
  91. package/dist/patcher/binary-finder.d.ts.map +1 -0
  92. package/dist/patcher/binary-finder.js +169 -0
  93. package/dist/patcher/binary-finder.js.map +1 -0
  94. package/dist/patcher/index.d.ts +5 -0
  95. package/dist/patcher/index.d.ts.map +1 -0
  96. package/dist/patcher/index.js +5 -0
  97. package/dist/patcher/index.js.map +1 -0
  98. package/dist/patcher/patch.d.ts +5 -0
  99. package/dist/patcher/patch.d.ts.map +1 -0
  100. package/dist/patcher/patch.js +148 -0
  101. package/dist/patcher/patch.js.map +1 -0
  102. package/dist/patcher/preflight.d.ts +5 -0
  103. package/dist/patcher/preflight.d.ts.map +1 -0
  104. package/dist/patcher/preflight.js +145 -0
  105. package/dist/patcher/preflight.js.map +1 -0
  106. package/dist/patcher/salt-ops.d.ts +18 -0
  107. package/dist/patcher/salt-ops.d.ts.map +1 -0
  108. package/dist/patcher/salt-ops.js +93 -0
  109. package/dist/patcher/salt-ops.js.map +1 -0
  110. package/dist/personalities.d.ts +10 -0
  111. package/dist/personalities.d.ts.map +1 -0
  112. package/dist/personalities.js +295 -0
  113. package/dist/personalities.js.map +1 -0
  114. package/dist/presets.d.ts +11 -0
  115. package/dist/presets.d.ts.map +1 -0
  116. package/dist/presets.js +207 -0
  117. package/dist/presets.js.map +1 -0
  118. package/dist/sprites/data.d.ts +4 -0
  119. package/dist/sprites/data.d.ts.map +1 -0
  120. package/dist/sprites/data.js +103 -0
  121. package/dist/sprites/data.js.map +1 -0
  122. package/dist/sprites/index.d.ts +3 -0
  123. package/dist/sprites/index.d.ts.map +1 -0
  124. package/dist/sprites/index.js +3 -0
  125. package/dist/sprites/index.js.map +1 -0
  126. package/dist/sprites/render.d.ts +15 -0
  127. package/dist/sprites/render.d.ts.map +1 -0
  128. package/dist/sprites/render.js +77 -0
  129. package/dist/sprites/render.js.map +1 -0
  130. package/dist/tui/animator.d.ts +13 -0
  131. package/dist/tui/animator.d.ts.map +1 -0
  132. package/dist/tui/animator.js +39 -0
  133. package/dist/tui/animator.js.map +1 -0
  134. package/dist/tui/apply/index.d.ts +9 -0
  135. package/dist/tui/apply/index.d.ts.map +1 -0
  136. package/dist/tui/apply/index.js +553 -0
  137. package/dist/tui/apply/index.js.map +1 -0
  138. package/dist/tui/builder/colors.d.ts +15 -0
  139. package/dist/tui/builder/colors.d.ts.map +1 -0
  140. package/dist/tui/builder/colors.js +20 -0
  141. package/dist/tui/builder/colors.js.map +1 -0
  142. package/dist/tui/builder/index.d.ts +6 -0
  143. package/dist/tui/builder/index.d.ts.map +1 -0
  144. package/dist/tui/builder/index.js +172 -0
  145. package/dist/tui/builder/index.js.map +1 -0
  146. package/dist/tui/builder/keyboard.d.ts +17 -0
  147. package/dist/tui/builder/keyboard.d.ts.map +1 -0
  148. package/dist/tui/builder/keyboard.js +76 -0
  149. package/dist/tui/builder/keyboard.js.map +1 -0
  150. package/dist/tui/builder/preview-panel.d.ts +9 -0
  151. package/dist/tui/builder/preview-panel.d.ts.map +1 -0
  152. package/dist/tui/builder/preview-panel.js +103 -0
  153. package/dist/tui/builder/preview-panel.js.map +1 -0
  154. package/dist/tui/builder/selection-panel.d.ts +11 -0
  155. package/dist/tui/builder/selection-panel.d.ts.map +1 -0
  156. package/dist/tui/builder/selection-panel.js +446 -0
  157. package/dist/tui/builder/selection-panel.js.map +1 -0
  158. package/dist/tui/builder/stat-bars.d.ts +4 -0
  159. package/dist/tui/builder/stat-bars.d.ts.map +1 -0
  160. package/dist/tui/builder/stat-bars.js +46 -0
  161. package/dist/tui/builder/stat-bars.js.map +1 -0
  162. package/dist/tui/builder/state.d.ts +22 -0
  163. package/dist/tui/builder/state.d.ts.map +1 -0
  164. package/dist/tui/builder/state.js +92 -0
  165. package/dist/tui/builder/state.js.map +1 -0
  166. package/dist/tui/cli.d.ts +3 -0
  167. package/dist/tui/cli.d.ts.map +1 -0
  168. package/dist/tui/cli.js +26 -0
  169. package/dist/tui/cli.js.map +1 -0
  170. package/dist/tui/commands/buddies.d.ts +2 -0
  171. package/dist/tui/commands/buddies.d.ts.map +1 -0
  172. package/dist/tui/commands/buddies.js +172 -0
  173. package/dist/tui/commands/buddies.js.map +1 -0
  174. package/dist/tui/commands/current.d.ts +2 -0
  175. package/dist/tui/commands/current.d.ts.map +1 -0
  176. package/dist/tui/commands/current.js +35 -0
  177. package/dist/tui/commands/current.js.map +1 -0
  178. package/dist/tui/commands/interactive.d.ts +6 -0
  179. package/dist/tui/commands/interactive.d.ts.map +1 -0
  180. package/dist/tui/commands/interactive.js +385 -0
  181. package/dist/tui/commands/interactive.js.map +1 -0
  182. package/dist/tui/commands/preview.d.ts +3 -0
  183. package/dist/tui/commands/preview.d.ts.map +1 -0
  184. package/dist/tui/commands/preview.js +94 -0
  185. package/dist/tui/commands/preview.js.map +1 -0
  186. package/dist/tui/commands/rehatch.d.ts +2 -0
  187. package/dist/tui/commands/rehatch.d.ts.map +1 -0
  188. package/dist/tui/commands/rehatch.js +30 -0
  189. package/dist/tui/commands/rehatch.js.map +1 -0
  190. package/dist/tui/commands/restore.d.ts +2 -0
  191. package/dist/tui/commands/restore.d.ts.map +1 -0
  192. package/dist/tui/commands/restore.js +52 -0
  193. package/dist/tui/commands/restore.js.map +1 -0
  194. package/dist/tui/commands/share.d.ts +2 -0
  195. package/dist/tui/commands/share.d.ts.map +1 -0
  196. package/dist/tui/commands/share.js +105 -0
  197. package/dist/tui/commands/share.js.map +1 -0
  198. package/dist/tui/commands/start-screen.d.ts +3 -0
  199. package/dist/tui/commands/start-screen.d.ts.map +1 -0
  200. package/dist/tui/commands/start-screen.js +93 -0
  201. package/dist/tui/commands/start-screen.js.map +1 -0
  202. package/dist/tui/display.d.ts +5 -0
  203. package/dist/tui/display.d.ts.map +1 -0
  204. package/dist/tui/display.js +33 -0
  205. package/dist/tui/display.js.map +1 -0
  206. package/dist/tui/format.d.ts +5 -0
  207. package/dist/tui/format.d.ts.map +1 -0
  208. package/dist/tui/format.js +21 -0
  209. package/dist/tui/format.js.map +1 -0
  210. package/dist/tui/gallery/index.d.ts +12 -0
  211. package/dist/tui/gallery/index.d.ts.map +1 -0
  212. package/dist/tui/gallery/index.js +153 -0
  213. package/dist/tui/gallery/index.js.map +1 -0
  214. package/dist/tui/gallery/keyboard.d.ts +15 -0
  215. package/dist/tui/gallery/keyboard.d.ts.map +1 -0
  216. package/dist/tui/gallery/keyboard.js +41 -0
  217. package/dist/tui/gallery/keyboard.js.map +1 -0
  218. package/dist/tui/gallery/profile-list-panel.d.ts +10 -0
  219. package/dist/tui/gallery/profile-list-panel.d.ts.map +1 -0
  220. package/dist/tui/gallery/profile-list-panel.js +66 -0
  221. package/dist/tui/gallery/profile-list-panel.js.map +1 -0
  222. package/dist/tui/gallery/profile-preview-panel.d.ts +9 -0
  223. package/dist/tui/gallery/profile-preview-panel.d.ts.map +1 -0
  224. package/dist/tui/gallery/profile-preview-panel.js +121 -0
  225. package/dist/tui/gallery/profile-preview-panel.js.map +1 -0
  226. package/dist/tui/gallery/state.d.ts +13 -0
  227. package/dist/tui/gallery/state.d.ts.map +1 -0
  228. package/dist/tui/gallery/state.js +33 -0
  229. package/dist/tui/gallery/state.js.map +1 -0
  230. package/dist/tui/index.d.ts +9 -0
  231. package/dist/tui/index.d.ts.map +1 -0
  232. package/dist/tui/index.js +9 -0
  233. package/dist/tui/index.js.map +1 -0
  234. package/dist/tui/launcher.d.ts +3 -0
  235. package/dist/tui/launcher.d.ts.map +1 -0
  236. package/dist/tui/launcher.js +24 -0
  237. package/dist/tui/launcher.js.map +1 -0
  238. package/dist/tui/presets/index.d.ts +3 -0
  239. package/dist/tui/presets/index.d.ts.map +1 -0
  240. package/dist/tui/presets/index.js +202 -0
  241. package/dist/tui/presets/index.js.map +1 -0
  242. package/dist/tui/presets/preset-list-panel.d.ts +9 -0
  243. package/dist/tui/presets/preset-list-panel.d.ts.map +1 -0
  244. package/dist/tui/presets/preset-list-panel.js +52 -0
  245. package/dist/tui/presets/preset-list-panel.js.map +1 -0
  246. package/dist/tui/prompts.d.ts +13 -0
  247. package/dist/tui/prompts.d.ts.map +1 -0
  248. package/dist/tui/prompts.js +126 -0
  249. package/dist/tui/prompts.js.map +1 -0
  250. package/dist/tui/start/index.d.ts +3 -0
  251. package/dist/tui/start/index.d.ts.map +1 -0
  252. package/dist/tui/start/index.js +170 -0
  253. package/dist/tui/start/index.js.map +1 -0
  254. package/dist/types.d.ts +113 -0
  255. package/dist/types.d.ts.map +1 -0
  256. package/dist/types.js +2 -0
  257. package/dist/types.js.map +1 -0
  258. package/package.json +82 -0
@@ -0,0 +1,207 @@
1
+ // Curated preset builds — themed pet combos users can pick in one step.
2
+ // At least one preset per species so every pet type is represented.
3
+ export const PRESETS = [
4
+ // ─── Dragon ───
5
+ {
6
+ name: 'Arcane Dragon',
7
+ description: 'A legendary wizard dragon with starry eyes',
8
+ species: 'dragon',
9
+ rarity: 'legendary',
10
+ eye: '✦',
11
+ hat: 'wizard',
12
+ },
13
+ {
14
+ name: 'Dragon King',
15
+ description: 'An epic crowned dragon — ruler of all pets',
16
+ species: 'dragon',
17
+ rarity: 'epic',
18
+ eye: '◉',
19
+ hat: 'crown',
20
+ },
21
+ // ─── Cat ───
22
+ {
23
+ name: 'Cozy Cat',
24
+ description: 'A rare beanie cat with dreamy eyes',
25
+ species: 'cat',
26
+ rarity: 'rare',
27
+ eye: '°',
28
+ hat: 'beanie',
29
+ },
30
+ {
31
+ name: 'Witch Cat',
32
+ description: 'A legendary wizard cat — familiar vibes',
33
+ species: 'cat',
34
+ rarity: 'legendary',
35
+ eye: '✦',
36
+ hat: 'wizard',
37
+ },
38
+ // ─── Capybara ───
39
+ {
40
+ name: 'Royal Capybara',
41
+ description: 'An epic crowned capybara — chill royalty',
42
+ species: 'capybara',
43
+ rarity: 'epic',
44
+ eye: '◉',
45
+ hat: 'crown',
46
+ },
47
+ {
48
+ name: 'Zen Capybara',
49
+ description: 'A common capybara — maximum chill, no frills',
50
+ species: 'capybara',
51
+ rarity: 'common',
52
+ eye: '·',
53
+ hat: 'none',
54
+ },
55
+ // ─── Ghost ───
56
+ {
57
+ name: 'Ghost in the Shell',
58
+ description: 'A rare halo ghost with hollow eyes',
59
+ species: 'ghost',
60
+ rarity: 'rare',
61
+ eye: '°',
62
+ hat: 'halo',
63
+ },
64
+ {
65
+ name: 'Poltergeist',
66
+ description: 'An epic propeller ghost — chaotic energy',
67
+ species: 'ghost',
68
+ rarity: 'epic',
69
+ eye: '×',
70
+ hat: 'propeller',
71
+ },
72
+ // ─── Penguin ───
73
+ {
74
+ name: 'Dapper Penguin',
75
+ description: 'An epic penguin in a top hat — pure class',
76
+ species: 'penguin',
77
+ rarity: 'epic',
78
+ eye: '·',
79
+ hat: 'tophat',
80
+ },
81
+ // ─── Robot ───
82
+ {
83
+ name: 'Mad Scientist',
84
+ description: 'A legendary robot with glitchy eyes and propeller',
85
+ species: 'robot',
86
+ rarity: 'legendary',
87
+ eye: '×',
88
+ hat: 'propeller',
89
+ },
90
+ {
91
+ name: 'Robo-King',
92
+ description: 'An epic crowned robot — all hail the machine',
93
+ species: 'robot',
94
+ rarity: 'epic',
95
+ eye: '◉',
96
+ hat: 'crown',
97
+ },
98
+ // ─── Duck ───
99
+ {
100
+ name: 'Chaos Duck',
101
+ description: 'An uncommon duck with a tiny duck on its head',
102
+ species: 'duck',
103
+ rarity: 'uncommon',
104
+ eye: '×',
105
+ hat: 'tinyduck',
106
+ },
107
+ // ─── Goose ───
108
+ {
109
+ name: 'Horrible Goose',
110
+ description: 'A rare goose with a halo — suspiciously innocent',
111
+ species: 'goose',
112
+ rarity: 'rare',
113
+ eye: '·',
114
+ hat: 'halo',
115
+ },
116
+ // ─── Owl ───
117
+ {
118
+ name: 'Mystic Owl',
119
+ description: 'A legendary wizard owl with piercing gaze',
120
+ species: 'owl',
121
+ rarity: 'legendary',
122
+ eye: '◉',
123
+ hat: 'wizard',
124
+ },
125
+ // ─── Mushroom ───
126
+ {
127
+ name: 'Spore Lord',
128
+ description: 'An epic crowned mushroom — ruler of the forest floor',
129
+ species: 'mushroom',
130
+ rarity: 'epic',
131
+ eye: '✦',
132
+ hat: 'crown',
133
+ },
134
+ // ─── Turtle ───
135
+ {
136
+ name: 'Tiny Tank',
137
+ description: 'A rare turtle with a propeller — slow but airborne',
138
+ species: 'turtle',
139
+ rarity: 'rare',
140
+ eye: '·',
141
+ hat: 'propeller',
142
+ },
143
+ // ─── Blob ───
144
+ {
145
+ name: 'Blob Boss',
146
+ description: 'An epic top-hat blob — formless but formal',
147
+ species: 'blob',
148
+ rarity: 'epic',
149
+ eye: '✦',
150
+ hat: 'tophat',
151
+ },
152
+ // ─── Octopus ───
153
+ {
154
+ name: 'Kraken',
155
+ description: 'A legendary crowned octopus — terror of the deep',
156
+ species: 'octopus',
157
+ rarity: 'legendary',
158
+ eye: '◉',
159
+ hat: 'crown',
160
+ },
161
+ // ─── Axolotl ───
162
+ {
163
+ name: 'Angel Axolotl',
164
+ description: 'A rare halo axolotl — too pure for this world',
165
+ species: 'axolotl',
166
+ rarity: 'rare',
167
+ eye: '✦',
168
+ hat: 'halo',
169
+ },
170
+ // ─── Snail ───
171
+ {
172
+ name: 'Wizard Snail',
173
+ description: 'A rare wizard snail — slow-cast spells only',
174
+ species: 'snail',
175
+ rarity: 'rare',
176
+ eye: '✦',
177
+ hat: 'wizard',
178
+ },
179
+ // ─── Cactus ───
180
+ {
181
+ name: 'Desert Sage',
182
+ description: 'A rare wizard cactus — prickly wisdom',
183
+ species: 'cactus',
184
+ rarity: 'rare',
185
+ eye: '°',
186
+ hat: 'wizard',
187
+ },
188
+ // ─── Rabbit ───
189
+ {
190
+ name: 'Top Hat Bunny',
191
+ description: 'An epic rabbit in a top hat — pulled from it, now wears it',
192
+ species: 'rabbit',
193
+ rarity: 'epic',
194
+ eye: '·',
195
+ hat: 'tophat',
196
+ },
197
+ // ─── Chonk ───
198
+ {
199
+ name: 'Absolute Unit',
200
+ description: 'A legendary crowned chonk — maximum gravitational presence',
201
+ species: 'chonk',
202
+ rarity: 'legendary',
203
+ eye: '◉',
204
+ hat: 'crown',
205
+ },
206
+ ];
207
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Species, Hat } from '../types.js';
2
+ export declare const BODIES: Record<Species, string[][]>;
3
+ export declare const HAT_LINES: Record<Hat, string>;
4
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/sprites/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CA2F9C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CASzC,CAAC"}
@@ -0,0 +1,103 @@
1
+ export const BODIES = {
2
+ duck: [
3
+ [' ', ' __ ', ' <({E} )___ ', ' ( ._> ', ' `--´ '],
4
+ [' ', ' __ ', ' <({E} )___ ', ' ( ._> ', ' `--´~ '],
5
+ [' ', ' __ ', ' <({E} )___ ', ' ( .__> ', ' `--´ '],
6
+ ],
7
+ goose: [
8
+ [' ', ' ({E}> ', ' || ', ' _(__)_ ', ' ^^^^ '],
9
+ [' ', ' ({E}> ', ' || ', ' _(__)_ ', ' ^^^^ '],
10
+ [' ', ' ({E}>> ', ' || ', ' _(__)_ ', ' ^^^^ '],
11
+ ],
12
+ blob: [
13
+ [' ', ' .----. ', ' ( {E} {E} ) ', ' ( ) ', ' `----´ '],
14
+ [' ', ' .------. ', ' ( {E} {E} ) ', ' ( ) ', ' `------´ '],
15
+ [' ', ' .--. ', ' ({E} {E}) ', ' ( ) ', ' `--´ '],
16
+ ],
17
+ cat: [
18
+ [' ', ' /\\_/\\ ', ' ( {E} {E}) ', ' ( ω ) ', ' (")_(") '],
19
+ [' ', ' /\\_/\\ ', ' ( {E} {E}) ', ' ( ω ) ', ' (")_(")~ '],
20
+ [' ', ' /\\-/\\ ', ' ( {E} {E}) ', ' ( ω ) ', ' (")_(") '],
21
+ ],
22
+ dragon: [
23
+ [' ', ' /^\\ /^\\ ', ' < {E} {E} > ', ' ( ~~ ) ', ' `-vvvv-´ '],
24
+ [' ', ' /^\\ /^\\ ', ' < {E} {E} > ', ' ( ) ', ' `-vvvv-´ '],
25
+ [' ~ ~ ', ' /^\\ /^\\ ', ' < {E} {E} > ', ' ( ~~ ) ', ' `-vvvv-´ '],
26
+ ],
27
+ octopus: [
28
+ [' ', ' .----. ', ' ( {E} {E} ) ', ' (______) ', ' /\\/\\/\\/\\ '],
29
+ [' ', ' .----. ', ' ( {E} {E} ) ', ' (______) ', ' \\/\\/\\/\\/ '],
30
+ [' o ', ' .----. ', ' ( {E} {E} ) ', ' (______) ', ' /\\/\\/\\/\\ '],
31
+ ],
32
+ owl: [
33
+ [' ', ' /\\ /\\ ', ' (({E})({E})) ', ' ( >< ) ', ' `----´ '],
34
+ [' ', ' /\\ /\\ ', ' (({E})({E})) ', ' ( >< ) ', ' .----. '],
35
+ [' ', ' /\\ /\\ ', ' (({E})(-)) ', ' ( >< ) ', ' `----´ '],
36
+ ],
37
+ penguin: [
38
+ [' ', ' .---. ', ' ({E}>{E}) ', ' /( )\\ ', ' `---´ '],
39
+ [' ', ' .---. ', ' ({E}>{E}) ', ' |( )| ', ' `---´ '],
40
+ [' .---. ', ' ({E}>{E}) ', ' /( )\\ ', ' `---´ ', ' ~ ~ '],
41
+ ],
42
+ turtle: [
43
+ [' ', ' _,--._ ', ' ( {E} {E} ) ', ' /[______]\\ ', ' `` `` '],
44
+ [' ', ' _,--._ ', ' ( {E} {E} ) ', ' /[______]\\ ', ' `` `` '],
45
+ [' ', ' _,--._ ', ' ( {E} {E} ) ', ' /[======]\\ ', ' `` `` '],
46
+ ],
47
+ snail: [
48
+ [' ', ' {E} .--. ', ' \\ ( @ ) ', ' \\_`--´ ', ' ~~~~~~~ '],
49
+ [' ', ' {E} .--. ', ' | ( @ ) ', ' \\_`--´ ', ' ~~~~~~~ '],
50
+ [' ', ' {E} .--. ', ' \\ ( @ ) ', ' \\_`--´ ', ' ~~~~~~ '],
51
+ ],
52
+ ghost: [
53
+ [' ', ' .----. ', ' / {E} {E} \\ ', ' | | ', ' ~`~``~`~ '],
54
+ [' ', ' .----. ', ' / {E} {E} \\ ', ' | | ', ' `~`~~`~` '],
55
+ [' ~ ~ ', ' .----. ', ' / {E} {E} \\ ', ' | | ', ' ~~`~~`~~ '],
56
+ ],
57
+ axolotl: [
58
+ [' ', '}~(______)~{', '}~({E} .. {E})~{', ' ( .--. ) ', ' (_/ \\_) '],
59
+ [' ', '~}(______){~', '~}({E} .. {E}){~', ' ( .--. ) ', ' (_/ \\_) '],
60
+ [' ', '}~(______)~{', '}~({E} .. {E})~{', ' ( -- ) ', ' ~_/ \\_~ '],
61
+ ],
62
+ capybara: [
63
+ [' ', ' n______n ', ' ( {E} {E} ) ', ' ( oo ) ', ' `------´ '],
64
+ [' ', ' n______n ', ' ( {E} {E} ) ', ' ( Oo ) ', ' `------´ '],
65
+ [' ~ ~ ', ' u______n ', ' ( {E} {E} ) ', ' ( oo ) ', ' `------´ '],
66
+ ],
67
+ cactus: [
68
+ [' ', ' n ____ n ', ' | |{E} {E}| | ', ' |_| |_| ', ' | | '],
69
+ [' ', ' ____ ', ' n |{E} {E}| n ', ' |_| |_| ', ' | | '],
70
+ [' n n ', ' | ____ | ', ' | |{E} {E}| | ', ' |_| |_| ', ' | | '],
71
+ ],
72
+ robot: [
73
+ [' ', ' .[||]. ', ' [ {E} {E} ] ', ' [ ==== ] ', ' `------´ '],
74
+ [' ', ' .[||]. ', ' [ {E} {E} ] ', ' [ -==- ] ', ' `------´ '],
75
+ [' * ', ' .[||]. ', ' [ {E} {E} ] ', ' [ ==== ] ', ' `------´ '],
76
+ ],
77
+ rabbit: [
78
+ [' ', ' (\\__/) ', ' ( {E} {E} ) ', ' =( .. )= ', ' (")__(") '],
79
+ [' ', ' (|__/) ', ' ( {E} {E} ) ', ' =( .. )= ', ' (")__(") '],
80
+ [' ', ' (\\__/) ', ' ( {E} {E} ) ', ' =( . . )= ', ' (")__(") '],
81
+ ],
82
+ mushroom: [
83
+ [' ', ' .-o-OO-o-. ', '(__________)', ' |{E} {E}| ', ' |____| '],
84
+ [' ', ' .-O-oo-O-. ', '(__________)', ' |{E} {E}| ', ' |____| '],
85
+ [' . o . ', ' .-o-OO-o-. ', '(__________)', ' |{E} {E}| ', ' |____| '],
86
+ ],
87
+ chonk: [
88
+ [' ', ' /\\ /\\ ', ' ( {E} {E} ) ', ' ( .. ) ', ' `------´ '],
89
+ [' ', ' /\\ /| ', ' ( {E} {E} ) ', ' ( .. ) ', ' `------´ '],
90
+ [' ', ' /\\ /\\ ', ' ( {E} {E} ) ', ' ( .. ) ', ' `------´~ '],
91
+ ],
92
+ };
93
+ export const HAT_LINES = {
94
+ none: '',
95
+ crown: ' \\^^^/ ',
96
+ tophat: ' [___] ',
97
+ propeller: ' -+- ',
98
+ halo: ' ( ) ',
99
+ wizard: ' /^\\ ',
100
+ beanie: ' (___) ',
101
+ tinyduck: ' ,> ',
102
+ };
103
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/sprites/data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { renderSprite, renderAnimatedSprite, spriteFrameCount, renderFace, IDLE_SEQUENCE, } from './render.ts';
2
+ export { BODIES, HAT_LINES } from './data.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sprites/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { renderSprite, renderAnimatedSprite, spriteFrameCount, renderFace, IDLE_SEQUENCE, } from "./render.js";
2
+ export { BODIES, HAT_LINES } from "./data.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sprites/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Bones, Species } from '../types.js';
2
+ /**
3
+ * Idle animation sequence from Claude Code.
4
+ * Indexes into the species frame array; -1 = sleeping (eyes replaced with "-").
5
+ */
6
+ export declare const IDLE_SEQUENCE: readonly [0, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 2, 0, 0, 0];
7
+ /**
8
+ * Render a sprite at the given animation frame with padding.
9
+ * Reads from IDLE_SEQUENCE to determine frame index and sleeping state.
10
+ */
11
+ export declare function renderAnimatedSprite(bones: Bones, frame: number, height?: number): string;
12
+ export declare function renderSprite(bones: Bones, frame?: number, sleeping?: boolean): string[];
13
+ export declare function spriteFrameCount(species: Species): number;
14
+ export declare function renderFace(bones: Pick<Bones, 'species' | 'eye'>): string;
15
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/sprites/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGjD;;;GAGG;AACH,eAAO,MAAM,aAAa,yDAA0D,CAAC;AAErF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,CAOpF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,SAAI,EAAE,QAAQ,UAAQ,GAAG,MAAM,EAAE,CAUhF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAEzD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,MAAM,CAyCxE"}
@@ -0,0 +1,77 @@
1
+ import { BODIES, HAT_LINES } from "./data.js";
2
+ /**
3
+ * Idle animation sequence from Claude Code.
4
+ * Indexes into the species frame array; -1 = sleeping (eyes replaced with "-").
5
+ */
6
+ export const IDLE_SEQUENCE = [0, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 2, 0, 0, 0];
7
+ /**
8
+ * Render a sprite at the given animation frame with padding.
9
+ * Reads from IDLE_SEQUENCE to determine frame index and sleeping state.
10
+ */
11
+ export function renderAnimatedSprite(bones, frame, height = 5) {
12
+ const step = IDLE_SEQUENCE[frame % IDLE_SEQUENCE.length];
13
+ const sleeping = step === -1;
14
+ const spriteFrame = sleeping ? 0 : step;
15
+ const lines = renderSprite(bones, spriteFrame, sleeping);
16
+ while (lines.length < height)
17
+ lines.push('');
18
+ return lines.slice(0, height).join('\n');
19
+ }
20
+ export function renderSprite(bones, frame = 0, sleeping = false) {
21
+ const frames = BODIES[bones.species];
22
+ const eye = sleeping ? '-' : bones.eye;
23
+ const body = frames[frame % frames.length].map((line) => line.replaceAll('{E}', eye));
24
+ const lines = [...body];
25
+ if (bones.hat !== 'none' && !lines[0].trim()) {
26
+ lines[0] = HAT_LINES[bones.hat];
27
+ }
28
+ if (!lines[0].trim() && frames.every((f) => !f[0].trim()))
29
+ lines.shift();
30
+ return lines;
31
+ }
32
+ export function spriteFrameCount(species) {
33
+ return BODIES[species].length;
34
+ }
35
+ export function renderFace(bones) {
36
+ const e = bones.eye;
37
+ switch (bones.species) {
38
+ case 'duck':
39
+ case 'goose':
40
+ return `(${e}>`;
41
+ case 'blob':
42
+ return `(${e}${e})`;
43
+ case 'cat':
44
+ return `=${e}ω${e}=`;
45
+ case 'dragon':
46
+ return `<${e}~${e}>`;
47
+ case 'octopus':
48
+ return `~(${e}${e})~`;
49
+ case 'owl':
50
+ return `(${e})(${e})`;
51
+ case 'penguin':
52
+ return `(${e}>)`;
53
+ case 'turtle':
54
+ return `[${e}_${e}]`;
55
+ case 'snail':
56
+ return `${e}(@)`;
57
+ case 'ghost':
58
+ return `/${e}${e}\\`;
59
+ case 'axolotl':
60
+ return `}${e}.${e}{`;
61
+ case 'capybara':
62
+ return `(${e}oo${e})`;
63
+ case 'cactus':
64
+ return `|${e} ${e}|`;
65
+ case 'robot':
66
+ return `[${e}${e}]`;
67
+ case 'rabbit':
68
+ return `(${e}..${e})`;
69
+ case 'mushroom':
70
+ return `|${e} ${e}|`;
71
+ case 'chonk':
72
+ return `(${e}.${e})`;
73
+ default:
74
+ return `(${e}${e})`;
75
+ }
76
+ }
77
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/sprites/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Shared animation clock for sprite frame cycling.
3
+ *
4
+ * Lazily starts on first subscriber, stops when the last unsubscribes.
5
+ * Timer is unref'd so it never prevents process exit.
6
+ */
7
+ export type TickFn = (frame: number) => void;
8
+ export interface Animator {
9
+ subscribe: (fn: TickFn) => () => void;
10
+ stop: () => void;
11
+ }
12
+ export declare function createAnimator(intervalMs?: number): Animator;
13
+ //# sourceMappingURL=animator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animator.d.ts","sourceRoot":"","sources":["../../src/tui/animator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7C,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC;IACtC,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,UAAU,SAAM,GAAG,QAAQ,CAkCzD"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Shared animation clock for sprite frame cycling.
3
+ *
4
+ * Lazily starts on first subscriber, stops when the last unsubscribes.
5
+ * Timer is unref'd so it never prevents process exit.
6
+ */
7
+ export function createAnimator(intervalMs = 500) {
8
+ const subscribers = new Set();
9
+ let timer = null;
10
+ let frame = 0;
11
+ function tick() {
12
+ frame++;
13
+ for (const fn of subscribers)
14
+ fn(frame);
15
+ }
16
+ function subscribe(fn) {
17
+ subscribers.add(fn);
18
+ if (subscribers.size === 1 && !timer) {
19
+ timer = setInterval(tick, intervalMs);
20
+ timer.unref();
21
+ }
22
+ return () => {
23
+ subscribers.delete(fn);
24
+ if (subscribers.size === 0 && timer) {
25
+ clearInterval(timer);
26
+ timer = null;
27
+ }
28
+ };
29
+ }
30
+ function stop() {
31
+ if (timer) {
32
+ clearInterval(timer);
33
+ timer = null;
34
+ }
35
+ frame = 0;
36
+ }
37
+ return { subscribe, stop };
38
+ }
39
+ //# sourceMappingURL=animator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animator.js","sourceRoot":"","sources":["../../src/tui/animator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,UAAU,cAAc,CAAC,UAAU,GAAG,GAAG;IAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,IAAI,KAAK,GAA0C,IAAI,CAAC;IACxD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,SAAS,IAAI;QACX,KAAK,EAAE,CAAC;QACR,KAAK,MAAM,EAAE,IAAI,WAAW;YAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,SAAS,CAAC,EAAU;QAC3B,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACtC,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,EAAE;YACV,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;gBACpC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,IAAI;QACX,IAAI,KAAK,EAAE,CAAC;YACV,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,KAAK,GAAG,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { CliFlags, DesiredTraits } from '../../types.js';
2
+ interface SetupInfo {
3
+ userId: string;
4
+ binaryPath: string;
5
+ useNodeHash: boolean;
6
+ }
7
+ export declare function runApplyTUI(desired: DesiredTraits, flags: CliFlags, setup: SetupInfo): Promise<void>;
8
+ export {};
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/apply/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AAgC/E,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB;AAaD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,IAAI,CAAC,CA0kBf"}