unraid
7d4adce1b6
fix(buddy): address CodeRabbit review findings
...
- buddy.ts: return type Promise<null> → Promise<React.ReactNode>
to match LocalJSXCommandCall interface (CompanionCard path returns
ReactElement, not null).
- CompanionCard.tsx: clamp stat value to 0..100 before .repeat()
to prevent negative count runtime error on out-of-range values.
Import path alias suggestions (src/ vs ../) dismissed — project
convention uses relative paths (verified against color.ts, help.ts).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 17:00:01 +08:00
unraid
991119491c
refactor(buddy): align companion system with official CLI
...
## Summary
Reverse-engineered the official Claude Code CLI (v2.1.91) buddy/companion
system and aligned our implementation to match.
## Changes (7 files)
### Added
- `src/buddy/CompanionCard.tsx` (+109)
JSX bordered card matching official vc8: rarity header, colored sprite,
name, personality, 10-bar stats, last reaction in nested border.
- `src/buddy/companionReact.ts` (+156)
Reaction system matching official ZUK+Dc8: 45s rate limiting, @-mention
detection, transcript builder (12 msgs, 5000 chars), POST buddy_react API.
### Modified
- `src/commands/buddy/index.ts`
type: local -> local-jsx, description/argumentHint/immediate/isHidden.
- `src/commands/buddy/buddy.ts`
LocalCommandCall -> LocalJSXCommandCall signature (onDone, context, args).
Removed mute/unmute/rehatch (official uses off/on only).
/buddy show returns CompanionCard JSX instead of plain text.
Pet auto-unmutes. companionMuted writes globalConfig (matches UI read source).
- `src/screens/REPL.tsx` (line 2808)
globalThis.fireCompanionObserver -> import triggerCompanionReaction.
- `src/state/AppStateStore.ts` — comment fix.
- `src/types/global.d.ts` — removed fireCompanionObserver declaration.
## Data flow (verified consistent)
- companionMuted: saveGlobalConfig() <-> getGlobalConfig() (6 read sites)
- companionReaction: setAppState() <-> useAppState() (4 sites)
- companionPetAt: setAppState() <-> useAppState() (2 sites)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 16:36:22 +08:00
claude-code-best
7dfbcd0e79
feat: 更新 buddy 的一些功能
2026-04-02 21:41:19 +08:00
claude-code-best
70f32e25f3
Merge branch 'main' into pr/smallflyingpig/36
...
# Conflicts:
# src/entrypoints/cli.tsx
2026-04-02 21:25:53 +08:00
claude-code-best
ce29527a67
test: 添加一大堆测试文件
2026-04-02 20:28:08 +08:00
claude-code-best
ac1f02958c
fix: 批量修正 external 字面量
2026-04-02 17:01:39 +08:00
lijiguo
f71530a10c
修复buddy rehatch的问题
2026-04-01 18:18:23 +08:00
lijiguo
c57ad656ad
支持buddy命令
2026-04-01 17:55:35 +08:00
claude-code-best
fac9341e73
feat: 全面清理类型错误 — tsc 零错误,any 标注全部消除
...
- 修复所有 33 个原始 tsc 编译错误(ink JSX 声明、类型不匹配、null check 等)
- 清理 176 处 `: any` 类型标注,全部替换为具体推断类型
- 修复清理过程中引入的 41 个回归错误
- 最终结果:0 tsc 错误,0 个非注释 any 标注
- Build 验证通过(25.75MB bundle)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-01 01:00:10 +08:00
claude-code-best
dd9cd782a7
feat: 问就是封包
2026-03-31 23:32:58 +08:00
claude-code-best
d7a729ca68
feat: 完成第二版类型清理
2026-03-31 23:03:47 +08:00
claude-code-best
4c0a655a1c
feat: 大规模清理 claude 的类型问题及依赖
2026-03-31 22:21:35 +08:00
claude-code-best
bd756cc369
feat: 完成stub
2026-03-31 20:40:16 +08:00
claude-code-best
f90eee85d8
feat: build
2026-03-31 19:22:47 +08:00