Files
jsc-anima/node_modules/.vitest-cache/e1806f12dd53b604a37aca3018dcd26b7d00ba5f

104 lines
12 KiB
Plaintext

const __vite_ssr_import_0__ = await __vite_ssr_import__("claude-code/testing", {"importedNames":["expect","mock","test"]});
const __vite_ssr_import_1__ = await __vite_ssr_import__("/hooks/characters.ts", {"importedNames":["CHARACTERS"]});
const setup = (on, active) => {
__vite_ssr_import_0__.mock.store(on, active ? { active } : undefined);
on("command.register", () => ({ value: { name: "x" } }));
on("session.start", () => ({ cwd: "/tmp" }));
on("command.run", () => ({ text: "" }));
on("prompt.compose", () => ({ sections: [] }));
};
const compose = ($) => $.prompt.compose({
model: "m",
promptModel: "m",
surfaces: [],
tools: [],
outputStyle: null,
traits: []
});
const persona = async ($) => (await compose($)).sections.find((s) => s.id === "jsc-anima:persona")?.text;
const start = ($) => $.session.start({
source: "startup",
cwd: "/tmp"
});
(0,__vite_ssr_import_0__.test)("啟動狀態跨 session 保留:下次開啟自動恢復", async ($, on) => {
setup(on, "sao-suguha");
await start($);
(0,__vite_ssr_import_0__.expect)(await persona($)).toContain("直葉");
});
(0,__vite_ssr_import_0__.test)("啟動角色後寫入儲存,新 session 恢復;離開後不再恢復", async ($, on) => {
setup(on);
await start($);
await $.command.run({
command: "sao-asuna",
args: ""
});
await $.command.run({
command: "anima-off",
args: ""
});
await $.command.run({
command: "sao-suguha",
args: ""
});
await start($);
(0,__vite_ssr_import_0__.expect)(await persona($)).toContain("直葉");
await $.command.run({
command: "anima-off",
args: ""
});
await start($);
(0,__vite_ssr_import_0__.expect)(await persona($)).toBeUndefined();
});
(0,__vite_ssr_import_0__.test)("在 /config 關閉 persist 後不恢復", { options: { persist: false } }, async ($, on) => {
setup(on, "sao-asuna");
await start($);
(0,__vite_ssr_import_0__.expect)(await persona($)).toBeUndefined();
});
(0,__vite_ssr_import_0__.test)("儲存的角色不存在時不恢復", async ($, on) => {
setup(on, "no-such-character");
await start($);
(0,__vite_ssr_import_0__.expect)(await persona($)).toBeUndefined();
});
(0,__vite_ssr_import_0__.test)("微調數值軸:反映在 persona,其餘維持角色包預設,且不改動角色包", { options: {
axisGentle: 2,
axisHumor: 9
} }, async ($, on) => {
setup(on, "sao-asuna");
const before = { ...__vite_ssr_import_1__.CHARACTERS.find((c) => c.slug === "sao-asuna").axes };
await start($);
const text = await persona($);
(0,__vite_ssr_import_0__.expect)(text).toContain("溫柔 2");
(0,__vite_ssr_import_0__.expect)(text).toContain("幽默 9");
(0,__vite_ssr_import_0__.expect)(text).toContain(`傲嬌 ${before.tsundere}`);
(0,__vite_ssr_import_0__.expect)(__vite_ssr_import_1__.CHARACTERS.find((c) => c.slug === "sao-asuna").axes).toEqual(before);
});
(0,__vite_ssr_import_0__.test)("未微調(-1)沿用角色包預設", { options: { axisGentle: -1 } }, async ($, on) => {
setup(on, "sao-asuna");
await start($);
(0,__vite_ssr_import_0__.expect)(await persona($)).toContain(`溫柔 ${__vite_ssr_import_1__.CHARACTERS.find((c) => c.slug === "sao-asuna").axes.gentle}`);
});
(0,__vite_ssr_import_0__.test)("8 個數值軸都可微調", { options: {
axisGentle: 1,
axisTsundere: 2,
axisLively: 3,
axisFormal: 4,
axisTalkative: 5,
axisHumor: 6,
axisProactive: 7,
axisExpressive: 8
} }, async ($, on) => {
setup(on, "sao-asuna");
await start($);
(0,__vite_ssr_import_0__.expect)(await persona($)).toContain("溫柔 1、傲嬌 2、活潑 3、正式 4、話量 5、幽默 6、主動 7、情緒外顯 8");
});
(0,__vite_ssr_import_0__.test)("超出 0-10 的覆蓋值被忽略", { options: { axisGentle: 11 } }, async ($, on) => {
setup(on, "sao-asuna");
await start($);
(0,__vite_ssr_import_0__.expect)(await persona($)).toContain(`溫柔 ${__vite_ssr_import_1__.CHARACTERS.find((c) => c.slug === "sao-asuna").axes.gentle}`);
});
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,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QUFPLGlDQUFXLE1BQUssTUFBSyxFQUFFLFNBQVMsV0FBVyxDQUFDLENBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxNQUFNO0FBQzNFLENBQUM7QUFFRCwrQkFBSyxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxHQUFHLE9BQU8sR0FBRyxPQUFPO0NBQ3ZFLE1BQU0sSUFBSSxXQUFXO0NBQ3JCLE1BQU0sTUFBTSxDQUFDO0NBQ2IsaUNBQU8sTUFBTSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxNQUFNLGlDQUFXLE1BQUssTUFBSyxFQUFFLFNBQVMsV0FBVyxDQUFDLENBQUUsS0FBSyxRQUFRO0FBQ3RHLENBQUM7QUFFRCwrQkFBSyxjQUFjLEVBQ2pCLFNBQVM7Q0FBRSxZQUFZO0NBQUcsY0FBYztDQUFHLFlBQVk7Q0FBRyxZQUFZO0NBQUcsZUFBZTtDQUFHLFdBQVc7Q0FBRyxlQUFlO0NBQUcsZ0JBQWdCO0FBQUUsRUFDL0ksR0FBRyxPQUFPLEdBQUcsT0FBTztDQUNsQixNQUFNLElBQUksV0FBVztDQUNyQixNQUFNLE1BQU0sQ0FBQztDQUNiLGlDQUFPLE1BQU0sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsMkNBQTJDO0FBQ2hGLENBQUM7QUFFRCwrQkFBSyxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFHLEVBQUUsR0FBRyxPQUFPLEdBQUcsT0FBTztDQUN4RSxNQUFNLElBQUksV0FBVztDQUNyQixNQUFNLE1BQU0sQ0FBQztDQUNiLGlDQUFPLE1BQU0sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsTUFBTSxpQ0FBVyxNQUFLLE1BQUssRUFBRSxTQUFTLFdBQVcsQ0FBQyxDQUFFLEtBQUssUUFBUTtBQUN0RyxDQUFDIiwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJwZXJzaXN0LnRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhwZWN0LCBtb2NrLCB0ZXN0IH0gZnJvbSAnY2xhdWRlLWNvZGUvdGVzdGluZydcblxuaW1wb3J0IHsgQ0hBUkFDVEVSUyB9IGZyb20gJy4vY2hhcmFjdGVycydcblxuY29uc3Qgc2V0dXAgPSAob246IGFueSwgYWN0aXZlPzogc3RyaW5nKSA9PiB7XG4gIG1vY2suc3RvcmUob24sIGFjdGl2ZSA/IHsgYWN0aXZlIH0gOiB1bmRlZmluZWQpXG4gIG9uKCdjb21tYW5kLnJlZ2lzdGVyJywgKCkgPT4gKHsgdmFsdWU6IHsgbmFtZTogJ3gnIH0gfSkgYXMgbmV2ZXIpXG4gIG9uKCdzZXNzaW9uLnN0YXJ0JywgKCkgPT4gKHsgY3dkOiAnL3RtcCcgfSkgYXMgbmV2ZXIpXG4gIG9uKCdjb21tYW5kLnJ1bicsICgpID0+ICh7IHRleHQ6ICcnIH0pKVxuICBvbigncHJvbXB0LmNvbXBvc2UnLCAoKSA9PiAoeyBzZWN0aW9uczogW10gfSkpXG59XG5jb25zdCBjb21wb3NlID0gKCQ6IGFueSkgPT4gJC5wcm9tcHQuY29tcG9zZSh7IG1vZGVsOiAnbScsIHByb21wdE1vZGVsOiAnbScsIHN1cmZhY2VzOiBbXSwgdG9vbHM6IFtdLCBvdXRwdXRTdHlsZTogbnVsbCwgdHJhaXRzOiBbXSB9IGFzIG5ldmVyKVxuY29uc3QgcGVyc29uYSA9IGFzeW5jICgkOiBhbnkpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4gPT4gKGF3YWl0IGNvbXBvc2UoJCkpLnNlY3Rpb25zLmZpbmQoKHM6IGFueSkgPT4gcy5pZCA9PT0gJ2pzYy1hbmltYTpwZXJzb25hJyk/LnRleHRcbmNvbnN0IHN0YXJ0ID0gKCQ6IGFueSkgPT4gJC5zZXNzaW9uLnN0YXJ0KHsgc291cmNlOiAnc3RhcnR1cCcsIGN3ZDogJy90bXAnIH0gYXMgbmV2ZXIpXG5cbnRlc3QoJ+WVn+WLleeLgOaFi+i3qCBzZXNzaW9uIOS/neeVme+8muS4i+asoemWi+WVn+iHquWLleaBouW+qScsIGFzeW5jICgkLCBvbikgPT4ge1xuICBzZXR1cChvbiwgJ3Nhby1zdWd1aGEnKVxuICBhd2FpdCBzdGFydCgkKVxuICBleHBlY3QoYXdhaXQgcGVyc29uYSgkKSkudG9Db250YWluKCfnm7TokYknKVxufSlcblxudGVzdCgn5ZWf5YuV6KeS6Imy5b6M5a+r5YWl5YSy5a2Y77yM5pawIHNlc3Npb24g5oGi5b6p77yb6Zui6ZaL5b6M5LiN5YaN5oGi5b6pJywgYXN5bmMgKCQsIG9uKSA9PiB7XG4gIHNldHVwKG9uKVxuICBhd2FpdCBzdGFydCgkKVxuICBhd2FpdCAkLmNvbW1hbmQucnVuKHsgY29tbWFuZDogJ3Nhby1hc3VuYScsIGFyZ3M6ICcnIH0gYXMgbmV2ZXIpXG4gIGF3YWl0ICQuY29tbWFuZC5ydW4oeyBjb21tYW5kOiAnYW5pbWEtb2ZmJywgYXJnczogJycgfSBhcyBuZXZlcilcbiAgYXdhaXQgJC5jb21tYW5kLnJ1bih7IGNvbW1hbmQ6ICdzYW8tc3VndWhhJywgYXJnczogJycgfSBhcyBuZXZlcilcbiAgYXdhaXQgc3RhcnQoJClcbiAgZXhwZWN0KGF3YWl0IHBlcnNvbmEoJCkpLnRvQ29udGFpbign55u06JGJJylcbiAgYXdhaXQgJC5jb21tYW5kLnJ1bih7IGNvbW1hbmQ6ICdhbmltYS1vZmYnLCBhcmdzOiAnJyB9IGFzIG5ldmVyKVxuICBhd2FpdCBzdGFydCgkKVxuICBleHBlY3QoYXdhaXQgcGVyc29uYSgkKSkudG9CZVVuZGVmaW5lZCgpXG59KVxuXG50ZXN0KCflnKggL2NvbmZpZyDpl5zplokgcGVyc2lzdCDlvozkuI3mgaLlvqknLCB7IG9wdGlvbnM6IHsgcGVyc2lzdDogZmFsc2UgfSB9LCBhc3luYyAoJCwgb24pID0+IHtcbiAgc2V0dXAob24sICdzYW8tYXN1bmEnKVxuICBhd2FpdCBzdGFydCgkKVxuICBleHBlY3QoYXdhaXQgcGVyc29uYSgkKSkudG9CZVVuZGVmaW5lZCgpXG59KVxuXG50ZXN0KCflhLLlrZjnmoTop5LoibLkuI3lrZjlnKjmmYLkuI3mgaLlvqknLCBhc3luYyAoJCwgb24pID0+IHtcbiAgc2V0dXAob24sICduby1zdWNoLWNoYXJhY3RlcicpXG4gIGF3YWl0IHN0YXJ0KCQpXG4gIGV4cGVjdChhd2FpdCBwZXJzb25hKCQpKS50b0JlVW5kZWZpbmVkKClcbn0pXG5cbnRlc3QoJ+W+ruiqv+aVuOWAvOi7uO+8muWPjeaYoOWcqCBwZXJzb25h77yM5YW26aSY57at5oyB6KeS6Imy5YyF6aCQ6Kit77yM5LiU5LiN5pS55YuV6KeS6Imy5YyFJywgeyBvcHRpb25zOiB7IGF4aXNHZW50bGU6IDIsIGF4aXNIdW1vcjogOSB9IH0sIGFzeW5jICgkLCBvbikgPT4ge1xuICBzZXR1cChvbiwgJ3Nhby1hc3VuYScpXG4gIGNvbnN0IGJlZm9yZSA9IHsgLi4uQ0hBUkFDVEVSUy5maW5kKGMgPT4gYy5zbHVnID09PSAnc2FvLWFzdW5hJykhLmF4ZXMgfVxuICBhd2FpdCBzdGFydCgkKVxuICBjb25zdCB0ZXh0ID0gKGF3YWl0IHBlcnNvbmEoJCkpIVxuICBleHBlY3QodGV4dCkudG9Db250YWluKCfmuqvmn5QgMicpXG4gIGV4cGVjdCh0ZXh0KS50b0NvbnRhaW4oJ+W5vem7mCA5JylcbiAgZXhwZWN0KHRleHQpLnRvQ29udGFpbihg5YKy5ayMICR7YmVmb3JlLnRzdW5kZXJlfWApXG4gIGV4cGVjdChDSEFSQUNURVJTLmZpbmQoYyA9PiBjLnNsdWcgPT09ICdzYW8tYXN1bmEnKSEuYXhlcykudG9FcXVhbChiZWZvcmUpXG59KVxuXG50ZXN0KCfmnKrlvq7oqr/vvIgtMe+8ieayv+eUqOinkuiJsuWMhemgkOiorScsIHsgb3B0aW9uczogeyBheGlzR2VudGxlOiAtMSB9IH0sIGFzeW5jICgkLCBvbikgPT4ge1xuICBzZXR1cChvbiwgJ3Nhby1hc3VuYScpXG4gIGF3YWl0IHN0YXJ0KCQpXG4gIGV4cGVjdChhd2FpdCBwZXJzb25hKCQpKS50b0NvbnRhaW4oYOa6q+aflCAke0NIQVJBQ1RFUlMuZmluZChjID0+IGMuc2x1ZyA9PT0gJ3Nhby1hc3VuYScpIS5heGVzLmdlbnRsZX1gKVxufSlcblxudGVzdCgnOCDlgIvmlbjlgLzou7jpg73lj6/lvq7oqr8nLCB7XG4gIG9wdGlvbnM6IHsgYXhpc0dlbnRsZTogMSwgYXhpc1RzdW5kZXJlOiAyLCBheGlzTGl2ZWx5OiAzLCBheGlzRm9ybWFsOiA0LCBheGlzVGFsa2F0aXZlOiA1LCBheGlzSHVtb3I6IDYsIGF4aXNQcm9hY3RpdmU6IDcsIGF4aXNFeHByZXNzaXZlOiA4IH0sXG59LCBhc3luYyAoJCwgb24pID0+IHtcbiAgc2V0dXAob24sICdzYW8tYXN1bmEnKVxuICBhd2FpdCBzdGFydCgkKVxuICBleHBlY3QoYXdhaXQgcGVyc29uYSgkKSkudG9Db250YWluKCfmuqvmn5QgMeOAgeWCsuWsjCAy44CB5rS75r2RIDPjgIHmraPlvI8gNOOAgeipsemHjyA144CB5bm96buYIDbjgIHkuLvli5UgN+OAgeaDhee3kuWklumhryA4Jylcbn0pXG5cbnRlc3QoJ+i2heWHuiAwLTEwIOeahOimhuiTi+WAvOiiq+W/veeVpScsIHsgb3B0aW9uczogeyBheGlzR2VudGxlOiAxMSB9IH0sIGFzeW5jICgkLCBvbikgPT4ge1xuICBzZXR1cChvbiwgJ3Nhby1hc3VuYScpXG4gIGF3YWl0IHN0YXJ0KCQpXG4gIGV4cGVjdChhd2FpdCBwZXJzb25hKCQpKS50b0NvbnRhaW4oYOa6q+aflCAke0NIQVJBQ1RFUlMuZmluZChjID0+IGMuc2x1ZyA9PT0gJ3Nhby1hc3VuYScpIS5heGVzLmdlbnRsZX1gKVxufSlcbiJdLCJmaWxlIjoiL2hvb2tzL3BlcnNpc3QudGVzdC50cyJ9
//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvcm9vdC9qc2MtYW5pbWEvaG9va3MvcGVyc2lzdC50ZXN0LnRzIiwiL2hvb2tzL3BlcnNpc3QudGVzdC50cyIseyJ1cmxzIjoiNiIsImlkcyI6IjcifSxbIjgiLCI5Il0sW10sWyI4IiwiOSJdLHt9LCJjbGF1ZGUtY29kZS90ZXN0aW5nIiwiL2hvb2tzL2NoYXJhY3RlcnMudHMiXQ==