@umang-boss/claudemon 1.5.1 → 1.7.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.
- package/dist/award-xp.mjs +29 -15
- package/dist/award-xp.mjs.map +2 -2
- package/dist/cli.mjs +30 -16
- package/dist/cli.mjs.map +2 -2
- package/dist/increment-counter.mjs +29 -15
- package/dist/increment-counter.mjs.map +2 -2
- package/dist/server.mjs +687 -64
- package/dist/server.mjs.map +4 -4
- package/package.json +1 -1
- package/skills/buddy/SKILL.md +11 -2
- package/src/engine/share-codec.ts +156 -0
- package/src/engine/types.ts +9 -0
- package/src/server/index.ts +4 -0
- package/src/server/tools/help.ts +104 -0
- package/src/server/tools/party.ts +59 -3
- package/src/server/tools/share.ts +539 -0
- package/src/server/tools/show.ts +1 -1
- package/src/state/io.ts +10 -1
- package/src/state/schemas.ts +12 -9
- package/src/state/state-manager.ts +28 -17
- package/statusline/buddy-status.sh +6 -2
package/dist/award-xp.mjs
CHANGED
|
@@ -107,7 +107,16 @@ var EVENT_COUNTER_KEYS = [
|
|
|
107
107
|
];
|
|
108
108
|
|
|
109
109
|
// src/state/io.ts
|
|
110
|
-
import {
|
|
110
|
+
import {
|
|
111
|
+
readFile,
|
|
112
|
+
writeFile,
|
|
113
|
+
rename,
|
|
114
|
+
mkdir,
|
|
115
|
+
copyFile,
|
|
116
|
+
unlink,
|
|
117
|
+
stat,
|
|
118
|
+
access
|
|
119
|
+
} from "node:fs/promises";
|
|
111
120
|
import { constants } from "node:fs";
|
|
112
121
|
async function atomicWrite(path, data) {
|
|
113
122
|
const tmpPath = `${path}.${Date.now()}.tmp`;
|
|
@@ -4263,6 +4272,11 @@ var UnlockedAchievementSchema = external_exports.object({
|
|
|
4263
4272
|
achievementId: external_exports.string(),
|
|
4264
4273
|
unlockedAt: external_exports.string()
|
|
4265
4274
|
});
|
|
4275
|
+
var ShareStatsSchema = external_exports.object({
|
|
4276
|
+
wins: external_exports.number().int().min(0).default(0),
|
|
4277
|
+
losses: external_exports.number().int().min(0).default(0),
|
|
4278
|
+
ties: external_exports.number().int().min(0).default(0)
|
|
4279
|
+
});
|
|
4266
4280
|
var PendingQuizSchema = external_exports.object({
|
|
4267
4281
|
type: external_exports.enum(["type_matchup", "stat_compare", "evolution", "pokedex_trivia"]),
|
|
4268
4282
|
question: external_exports.string(),
|
|
@@ -4302,7 +4316,8 @@ var PlayerStateSchema = external_exports.object({
|
|
|
4302
4316
|
lastFedAt: external_exports.number().default(0),
|
|
4303
4317
|
lastTrainedAt: external_exports.number().default(0),
|
|
4304
4318
|
lastPlayedAt: external_exports.number().default(0),
|
|
4305
|
-
pendingQuiz: PendingQuizSchema.nullable().default(null)
|
|
4319
|
+
pendingQuiz: PendingQuizSchema.nullable().default(null),
|
|
4320
|
+
shareStats: ShareStatsSchema.default({ wins: 0, losses: 0, ties: 0 })
|
|
4306
4321
|
});
|
|
4307
4322
|
|
|
4308
4323
|
// src/engine/pokemon-data.ts
|
|
@@ -6216,7 +6231,8 @@ var StateManager = class _StateManager {
|
|
|
6216
6231
|
lastFedAt: 0,
|
|
6217
6232
|
lastTrainedAt: 0,
|
|
6218
6233
|
lastPlayedAt: 0,
|
|
6219
|
-
pendingQuiz: null
|
|
6234
|
+
pendingQuiz: null,
|
|
6235
|
+
shareStats: { wins: 0, losses: 0, ties: 0 }
|
|
6220
6236
|
};
|
|
6221
6237
|
this.state = state2;
|
|
6222
6238
|
await this.save();
|
|
@@ -6281,13 +6297,12 @@ var StateManager = class _StateManager {
|
|
|
6281
6297
|
}
|
|
6282
6298
|
const state2 = this.getState();
|
|
6283
6299
|
const xpPercent = active.level >= 100 ? 100 : Math.min(100, Math.floor(active.currentXp / Math.max(1, active.currentXp + 50) * 100));
|
|
6284
|
-
|
|
6285
|
-
|
|
6286
|
-
|
|
6287
|
-
displayName = species?.name ?? `Pokemon #${active.pokemonId}`;
|
|
6288
|
-
}
|
|
6300
|
+
const species = POKEMON_BY_ID.get(active.pokemonId);
|
|
6301
|
+
const speciesName = species?.name ?? `Pokemon #${active.pokemonId}`;
|
|
6302
|
+
const displayName = active.nickname ? `${active.nickname} (${speciesName})` : speciesName;
|
|
6289
6303
|
const payload = {
|
|
6290
|
-
name:
|
|
6304
|
+
name: speciesName,
|
|
6305
|
+
displayName,
|
|
6291
6306
|
level: active.level,
|
|
6292
6307
|
xpPercent,
|
|
6293
6308
|
speciesId: active.pokemonId,
|
|
@@ -6337,13 +6352,12 @@ var StateManager = class _StateManager {
|
|
|
6337
6352
|
const active = this.getActivePokemon();
|
|
6338
6353
|
if (!active) return;
|
|
6339
6354
|
const xpPercent = active.level >= 100 ? 100 : Math.min(100, Math.floor(active.currentXp / Math.max(1, active.currentXp + 50) * 100));
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
displayName = species?.name ?? `Pokemon #${active.pokemonId}`;
|
|
6344
|
-
}
|
|
6355
|
+
const species = POKEMON_BY_ID.get(active.pokemonId);
|
|
6356
|
+
const speciesName = species?.name ?? `Pokemon #${active.pokemonId}`;
|
|
6357
|
+
const displayLabel = active.nickname ? `${active.nickname} (${speciesName})` : speciesName;
|
|
6345
6358
|
const payload = {
|
|
6346
|
-
name:
|
|
6359
|
+
name: speciesName,
|
|
6360
|
+
displayName: displayLabel,
|
|
6347
6361
|
level: active.level,
|
|
6348
6362
|
xpPercent,
|
|
6349
6363
|
speciesId: active.pokemonId,
|