feat: companion 狀態列與 info 輸出對齊設計稿

- 狀態列的 PAD 條改為最強的兩種情緒(不含精力)
- info 短版只列名字、關係、前 3 強情緒、適應度與待辦
- info --all 補上 12 格情緒與關係長條、人格 18 參數三層值、世界與時間感,基本資訊移到這裡
- 版本號改為 0.0.4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
root
2026-10-14 10:03:31 +00:00
co-authored by Claude Sonnet 5.5
parent b99bf4e539
commit 13d3678032
10 changed files with 74 additions and 39 deletions
@@ -182,7 +182,7 @@ describe('適應度', () => {
const v = (await c.view())!
expect(v.adapt).toBeGreaterThan(15)
expect(v.adapt).toBeLessThan(25)
expect((await c.command('status'))).toContain('適應度:')
expect((await c.command('status'))).toContain('適應度 ')
})
})
@@ -424,11 +424,19 @@ describe('setup 與 materials 指令', () => {
})
})
describe('/status 相容', () => {
test('保留原有各行,並多出適應度與時間感', async () => {
describe('info 輸出', () => {
test('短版只有名字、關係、情緒、適應度與待辦', async () => {
const { c } = setup()
await c.ensureActivated()
const s = await c.command('status')
for (const k of ['心情 PAD:', '情緒(前 3 強', '好感:', '關係:', '待辦:', '基本資訊:', '適應度:', '時間感:']) expect(s).toContain(k)
for (const k of ['關係 ', '情緒 ', '適應度 ', '待辦 ', '--all']) expect(s).toContain(k)
for (const k of ['PAD', '基本資訊', '時間感']) expect(s).not.toContain(k)
})
test('--all 多出關係長條、人格參數、世界與時間感', async () => {
const { c } = setup()
await c.ensureActivated()
const s = await c.command('status --all')
for (const k of ['情緒(8 維度)', '關係(', '人格(', '世界', '基本資訊', '現在是', '距離上次互動']) expect(s).toContain(k)
})
})