claude-code-best
fc438bd222
Feature/add auto mode settings and fix bug ( #368 )
...
* refactor: 将 convertMessagesToLangfuse 参数类型从 unknown 收窄为联合类型
将 readonly unknown[] 改为 readonly LangfuseInputMessage[],
其中 LangfuseInputMessage = UserMessage | AssistantMessage | ChatCompletionMessageParam,
让调用方获得编译期类型检查。
* fix: 修复 Config 面板第二次进入时左右键无反应的问题
将左右键枚举值切换从依赖 DOM 焦点的 onKeyDown 改为 useKeybindings 系统,
确保按键在任何焦点状态下都能正确响应。同时修复 isSearchMode 初始值和布局问题。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* fix: 修复 PowerShellTool.isSearchOrReadCommand 在 input 为 undefined 时崩溃的问题
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* feat: 添加 RSS 内存指示器并解绑 auto 权限模式与 TRANSCRIPT_CLASSIFIER
- 在 REPL 底栏添加 RSS 内存使用显示,512MB 以下 dimColor,512MB-1GB warning 色,1GB 以上 error 色
- auto 权限模式不再依赖 TRANSCRIPT_CLASSIFIER feature flag,classifier 不可用时 fallback 到 prompting
- Config 面板 defaultPermissionMode 使用类型安全的 permissionModeFromString,显示改用 shortTitle
- bypassPermissions title 缩短为 Bypass 与 shortTitle 一致
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* fix: 同步 permissionModeTitle 测试断言与 bypassPermissions 的新 title 值
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-26 15:43:25 +08:00
claude-code-best
1173a62301
refactor: 统一 log.ts/debug.ts 的测试 mock 为共享定义
...
- 新增 tests/mocks/log.ts 和 tests/mocks/debug.ts,覆盖源文件全部实际导出
- 移除旧 mock 中不存在的导出(logToFile、logEvent、getLogFilePath)
- 13 个测试文件改为使用共享 mock,避免定义分散和不一致
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 11:39:53 +08:00
claude-code-best
ed4bdb9338
feat: 增强 auto mode 的易用性 ( #312 )
...
* feat: poor 模式降级 yolo 审阅模型
* feat: 为多模块添加 Langfuse tracing 支持
在 web search、agent creation、away summary、token estimation、
skill improvement 等模块中集成 Langfuse trace,并透传至
compact/apiQueryHook/execPromptHook 等调用链。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: 让 auto mode 记录回主 trace
* fix: reopen auto mode prompt when classifier is unavailable
* fix: 修复 auto mode 情况下, llm 报错导致弹窗也不打开的问题
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 21:13:09 +08:00
claude-code-best
92f8a92fbb
feat: 正式启用 auto mode ( #307 )
...
* fix: 修复settings.json内存状态溢出的问题
* fix: 修复auto mode gate check未处理的promise rejection
在 bypassPermissionsKillswitch.ts 的 useKickOffCheckAndDisableAutoModeIfNeeded
中,void fire-and-forget 调用缺少 .catch() 处理,导致 verifyAutoModeGateAccess
失败时产生 unhandled promise rejection。同时移除 permissionSetup.ts 中冗余的
null check。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: 开放 auto mode 和 bypass mode 给所有用户
通过 Shift+Tab 统一循环:default → acceptEdits → plan → auto → bypassPermissions → default
- 移除 USER_TYPE 分支判断,所有用户使用同一循环路径
- isBypassPermissionsModeAvailable 始终为 true
- isAutoModeAvailable 初始化直接为 true
- 移除 AutoModeOptInDialog 确认流程
- 简化 isAutoModeGateEnabled 仅保留快模式熔断器
- 简化 verifyAutoModeGateAccess 仅检查快模式
- 移除 GrowthBook/Statsig 远程门控
- bypass permissions killswitch 改为 no-op
- 新增 24 个测试覆盖循环逻辑和门控不变量
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: 为sideQuery添加Langfuse追踪
sideQuery 绕过了 claude.ts 的主 API 路径,导致所有走 sideQuery 的调用
(auto mode classifier、permission explainer、session search 等)都没有
Langfuse 记录。现在为每次 sideQuery 调用创建独立 trace 并记录 LLM observation,
未配置 Langfuse 时全部 no-op。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: ACP availableModes 补齐 bypassPermissions 并修正测试 import 路径
- ACP agent availableModes 按条件包含 bypassPermissions(非 root/sandbox)
- 顺序对齐 REPL 循环:default → acceptEdits → plan → auto → bypassPermissions
- 新增 2 个测试验证 availableModes 包含 bypassPermissions 及模式切换
- 修正 getNextPermissionMode.test.ts 和 permissionSetup.test.ts 的 import 路径
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 10:20:27 +08:00
claude-code-best
a14b7f352b
test: 修正 mock 的滥用情况
2026-04-17 10:13:09 +08:00
claude-code-best
a14d3dc8f0
fix(types): clean type fixes across 92 files
...
Apply proper TypeScript type corrections without any unsafe casts:
- Fix unknown/never/{} types from decompilation
- Correct function signatures and parameter types
- Add missing type declarations and interfaces
- Fix Ink component prop types
- Update API client/provider type annotations
Test files with mock data casts are included as-is (acceptable pattern).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 23:45:56 +08:00
claude-code-best
799dacc407
test: 新增一波测试文件
2026-04-02 16:21:24 +08:00
claude-code-best
006ad97fbb
test: 新增测试代码文件
2026-04-02 14:44:56 +08:00
claude-code-best
21ac9e441f
test: Phase 2-4 — 添加 12 个测试文件 (+321 tests, 968 total)
...
Phase 2 (轻 Mock): envUtils, sleep/sequential, memoize, groupToolUses, dangerousPatterns, outputLimits
Phase 3 (补全): zodToJsonSchema, PermissionMode, envValidation
Phase 4 (工具模块): mcpStringUtils, destructiveCommandWarning, commandSemantics
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 09:29:01 +08:00
claude-code-best
acfaac5f14
test: Phase 1 — 添加 8 个纯函数测试文件 (+134 tests)
...
- errors.test.ts: 28 tests (isAbortError, toError, errorMessage, getErrnoCode, isFsInaccessible, classifyAxiosError 等)
- shellRuleMatching.test.ts: 22 tests (permissionRuleExtractPrefix, hasWildcards, matchWildcardPattern, parsePermissionRule 等)
- argumentSubstitution.test.ts: 18 tests (parseArguments, parseArgumentNames, generateProgressiveArgumentHint, substituteArguments)
- CircularBuffer.test.ts: 12 tests (add, addAll, getRecent, toArray, clear, length)
- sanitization.test.ts: 14 tests (partiallySanitizeUnicode, recursivelySanitizeUnicode)
- slashCommandParsing.test.ts: 8 tests (parseSlashCommand)
- contentArray.test.ts: 6 tests (insertBlockAfterToolResults)
- objectGroupBy.test.ts: 5 tests (objectGroupBy)
总计:781 tests / 40 files
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 08:50:29 +08:00
claude-code-best
a28a44f9f7
test: 添加 FileEditTool/permissions/filterToolsByDenyRules 测试
...
- FileEditTool/utils.test.ts: 24 tests (normalizeQuotes, stripTrailingWhitespace, findActualString, preserveQuoteStyle, applyEditToFile)
- permissions/permissions.test.ts: 13 tests (getDenyRuleForTool, getAskRuleForTool, getDenyRuleForAgent, filterDeniedAgents)
- tools.test.ts: 扩展 5 tests (filterToolsByDenyRules 过滤逻辑)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 07:36:50 +08:00
claude-code-best
583d04331b
test: 添加权限规则解析器单元测试 (测试计划 04)
...
覆盖 escapeRuleContent、unescapeRuleContent、permissionRuleValueFromString、
permissionRuleValueToString、normalizeLegacyToolName,共 25 个测试用例。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 22:18:00 +08:00