Commit Graph

1149 Commits

Author SHA1 Message Date
kingboung
7425b59826 feat: register /review and /security-review via registerBundledSkill
Replace indirect Skill-tool-based routing with direct bundled skill
registration using SKILL_FILES, matching /strict:review approach.

- reviewSkills.ts registers all four commands (review, security-review,
  strict:review, strict:security-review) with embedded files
- Remove review command from commands.ts (now bundled skill)
- Simplify review.ts to only export ultrareview
- Update mcp.ts to get review command from bundled skills

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 16:52:43 +08:00
DoSun
edb72b447b fix(server): return latest N messages instead of first N in messages endpoint 2026-05-12 16:50:09 +08:00
DoSun
86fac2bd75 feat(server): support deleting non-resident sessions with disk cleanup 2026-05-12 16:50:09 +08:00
IronRookieCoder
c473fef8d8 refactor: 将 undici 移至运行时依赖
undici 仍被代理和 mTLS 逻辑按需 require,因此需要保留为运行时依赖。
2026-05-12 16:49:28 +08:00
DoSun
1a440af30b feat: 对齐 OpenCode 即时推送架构,session status 事件绕过队列直接推送
- sessionState.ts: 单 listener → Set 多订阅者,新增 registerSdkEventConsumer 绕过 SDK 事件队列
- sdkEventQueue.ts: SessionStateChangedEvent 从队列系统移除
- print.ts: runHeadlessStreaming 注册直接消费者,事件即时 output.enqueue()
- query.ts: queryLoop 每轮迭代发送 running 心跳
- server/routes/session.ts: prompt_async 立即 emit busy(不等子进程 init),历史会话先解析 body 再恢复
- server/sessionHandle.ts: prompt() 检测已 busy 时跳过重复 emit
- server/eventBus.ts: 添加 SSE publish 耗时日志
- server/server.ts: 传递 eventBus 给 sessionRoutes
- 新增 16 个 sessionState 多订阅者 + SDK consumer 测试
2026-05-12 16:49:26 +08:00
DoSun
5890d16b3a feat(server): emit session.updated on title generation with fallback 2026-05-12 16:49:05 +08:00
DoSun
58b4b5e354 fix(server): include created_at in session.created SSE event
The session.created event only had session_id and status, causing
downstream adapters to produce empty time objects and new sessions
landing in the 'older' group.
2026-05-12 16:49:05 +08:00
DoSun
922bcf7660 fix(server): accept client messageID to enable optimistic message dedup 2026-05-12 16:48:59 +08:00
kingboung
d96f74a3fc chore: update bun.lock
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 16:39:37 +08:00
kingboung
6c909321ed feat: register /strict:review and /strict:security-review commands
Add strictReview.ts to register strict review variants as bundled skills
with context:'fork' (sub-agent mode), using SKILL_FILES and CommandLocale.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 16:38:24 +08:00
林凯90331
6e8d54da6c feat(server): support reading subagent transcripts
Add fallback in readSessionMessages() to locate subagent transcript files under <project>/<session>/subagents/agent-<id>.jsonl when the sessionId is actually an agentId. Extract entryToSessionMessage and readMessagesFromLines helpers for reuse between main and subagent transcripts.

Also route 'system' messages through the 'message' event in sessionMessageRouter so subscribers can observe them.

Signed-off-by: 林凯90331 <90331@sangfor.com>
Co-authored-by: CoStrict <zgsm@sangfor.com.cn>
2026-05-12 16:30:45 +08:00
IronRookieCoder
b39887b2d3 feat: 添加代理和 CA 证书功能改进及测试
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 16:24:02 +08:00
kingboung
5ecc8277b8 fix: restore package.json, bun.lock and .gitignore from verified commit
Restore to match commit 89c9e87c:
- Add back build:builtin-review script
- Remove undici from devDependencies
- Restore prepare script to .githooks
- Revert .gitignore upstream additions

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 16:15:26 +08:00
unknown_
ade163561b fix: protect tabs from wrap-ansi expansion in MeasuredText 2026-05-12 16:05:08 +08:00
kingboung
33bdcb9b74 fix: restore verified commit 89c9e87c files after main merge
Restore files to match the verified commit state:
- generate-review-builtin.ts: skill-only generation, SSH clone, optimize/agent-prompts branch
- extension.ts: listBuiltinSkillNames, getClaudeConfigHomeDir approach
- lang.ts: re-extract review skills on language switch
- locales: use Skill tool prompt format

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 15:41:21 +08:00
kingboung
4c56bbe268 fix: remove agent-based review code reintroduced from main merge
Revert PR #43 agent-based code that was brought in during the main merge:
- Remove generateBuiltinAgents and all agent-related logic from generate script
- Delete src/costrict/review/agent/ directory
- Delete src/commands/security-review.ts (handled by bundled skill)
- Restore PR #64 extension.ts with getClaudeConfigHomeDir approach
- Remove REVIEW_AGENTS from builtInAgents.ts
- Keep review command (needed for MCP entry), but use CommandLocale instead of agent

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 15:32:07 +08:00
y574444354
79548c324e chore: bump version to 4.0.16 and clean up source maps in build output
- 版本号 4.0.15 → 4.0.16 (package.json + MACRO.VERSION)
- build.ts: 新增 Step 6,构建完成后清理 .map 文件(约 64MB)
  解决 npm mirror 80MB 包体积限制的同步失败问题
2026-05-12 15:22:34 +08:00
kingboung
a645f34ee5 fix: resolve merge conflicts with main, keep branch review architecture
- Remove duplicate extractBundledSkill from generated builtin.ts template
- Keep extract-to-disk extension.ts (branch version)
- Keep SSH clone URL for generate-review-builtin
- Revert .gitignore, package.json, locales to branch versions

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 15:16:17 +08:00
y574444354
73f8641033 chore: bump version to 4.0.15 and update CHANGELOG
- 版本号 4.0.14 → 4.0.15
- 更新 CHANGELOG.md 添加 4.0.14 变更记录
- markdownConfigLoader: ripgrep 失败时降级到原生文件搜索
2026-05-12 15:10:39 +08:00
kingboung
8599340c68 Merge remote-tracking branch 'origin/main' into feat/migrate-review-agents
Conflicts resolved in favor of our branch for review-related files.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 15:08:13 +08:00
kingboung
89c9e87c58 chore: switch review skill download branch to optimize/agent-prompts
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 14:57:04 +08:00
kingboung
18c87ff058 chore: remove duplicate undici dependency
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 14:55:25 +08:00
kingboung
58518f4b9b feat: re-extract review skills on language switch
When /lang is used to switch language, immediately re-extract review
skills for the new locale and refresh skill caches so changes take
effect without restart.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 14:52:39 +08:00
DoSun
d18a2af37d
Merge pull request #65 from Askhz/fix/server-agent-switch
fix(server): 支持按 prompt 动态切换 agent
2026-05-12 14:50:52 +08:00
kingboung
194baf5324 chore: remove docs/superpowers directory
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 14:48:15 +08:00
kingboung
3780b517c5 chore: switch review skill download branch to main
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 14:44:55 +08:00
costrict
b6c353977d fix(server): 支持按 prompt 动态切换 agent
- sessionHandle 添加 --agent spawn 参数和 setAgent() 控制请求
- prompt/prompt_async 路由提取 body.agent 并调用 setAgent
- print.ts 添加 set_agent 控制请求处理
- controlSchemas 添加 SDKControlSetAgentRequestSchema

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 14:42:42 +08:00
y574444354
cb38087940 merge: 合并 merge 分支(社区 upstream v2.4.2 同步及大量功能增强)
包含:
- 社区 upstream 代码同步至 v2.4.2
- 内存优化与泄漏修复
- Tool Search 基础设施
- Agent/Team 功能增强
- Remote Control 条件工具注入
- 大量测试修复与性能优化
2026-05-12 14:07:32 +08:00
y574444354
d3100178e3 fix: 修复 betas 导入名称不匹配
TOOL_SEARCH_BETA_HEADER_* → SEARCH_EXTRA_TOOLS_BETA_HEADER_*
与 src/constants/betas.ts 的导出名称保持一致
2026-05-12 12:34:38 +08:00
y574444354
c2f831c4bf chore: remove npm auth token from .npmrc 2026-05-12 12:27:11 +08:00
y574444354
666d2ba2eb Merge branch 'main' into merge 2026-05-12 12:25:05 +08:00
y574444354
7b2b5871ed fix: 使用 HTTPS + gh token 替代 SSH 克隆 review 仓库
将 generate-review-builtin.ts 的 CLONE_URL 从 SSH (git@github.com:)
改为 HTTPS,并通过 gh auth token 或环境变量获取认证令牌,
解决 SSH key 未配置时无法克隆私有仓库的问题。
2026-05-12 12:23:50 +08:00
y574444354
b1a6a22e5d fix: 使用 HTTPS + gh token 替代 SSH 克隆 review 仓库
将 generate-review-builtin.ts 的 CLONE_URL 从 SSH (git@github.com:)
改为 HTTPS,并通过 gh auth token 或环境变量获取认证令牌,
解决 SSH key 未配置时无法克隆私有仓库的问题。
2026-05-12 12:23:50 +08:00
y574444354
4fce66348c Revert "Merge pull request #60 from y574444354/feat/migrate-review-agents"
This reverts commit 62398b2dcc, reversing
changes made to ba39b17a7e.
2026-05-12 12:11:37 +08:00
y574444354
8b6bdd44d8 Revert "Merge pull request #60 from y574444354/feat/migrate-review-agents"
This reverts commit 62398b2dcc, reversing
changes made to ba39b17a7e.
2026-05-12 12:11:37 +08:00
y574444354
d59d1f590a chore: 合并社区 upstream/main 代码至 v2.4.2
合并 claude-code-best/claude-code 社区最新代码,包含:
- 配置文件更新:precheck/lint-staged/overrides 等
- 新 feature flags:EXPERIMENTAL_SEARCH_EXTRA_TOOLS、AUTOFIX_PR
- 工具系统架构更新:Tool Search、ACP 协议支持
- 文档更新:CLAUDE.md 同步架构变更
- 依赖更新:SDK 版本升级、lint-staged 加入

冲突处理策略:以 costrict 版本为主,选择性合并上游功能改进
2026-05-12 11:55:04 +08:00
kingboung
37f53440f3 Merge remote-tracking branch 'origin/main' into feat/migrate-review-agents 2026-05-12 11:49:50 +08:00
kingboung
c3e19d7d2a refactor: migrate review skills from registerBundledSkill to extract-to-disk
Replace registerBundledSkill() with runtime extract-to-disk + standard
skill scanner discovery, aligning with upstream opencode PR #360 approach.

- Add extractBundledSkill() to generate script output
- Create extension.ts for runtime skill extraction to ~/.claude/skills/
- Remove reviewSkills.ts (registerBundledSkill registration)
- Update bundled/index.ts to call Extension.initializeBuiltinSkills()
- Add build:builtin-review script to package.json

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 11:49:38 +08:00
kingboung
e68415c7e9 fix: add Skill tool to allowedTools and restore locale templates
- Add 'Skill' to allowedTools so model can invoke Skill tool to load
  review/security-review SKILL.md content
- Restore src/costrict/command/locales/ with zh-CN/en templates telling
  model to use Skill tool (aligns with opencode PR #360 approach)
- Remove model: 'inherit' from review registration (was resolving to
  wrong model, strict:plan works without it)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 10:50:43 +08:00
geroge
eb955e44b8
Merge pull request #63 from Askhz/feat/costrict-max-tokens
feat(costrict): 根据模型列表动态设置 max_tokens 参数
2026-05-12 10:20:11 +08:00
Askhz
158ead6cbe Merge branch 'main' into feat/costrict-max-tokens 2026-05-12 10:16:21 +08:00
geroge
62398b2dcc
Merge pull request #60 from y574444354/feat/migrate-review-agents
feat: migrate review system to bundled skill files mechanism
2026-05-12 10:11:29 +08:00
geroge
ba39b17a7e
Merge pull request #56 from Askhz/chore/remove-attribution-header
chore: remove x-anthropic-billing-header from system prompt
2026-05-12 10:11:03 +08:00
geroge
d1197c2efc
Merge pull request #54 from Askhz/feat/costrict-agent-type-header
feat: add agent-type request header to CoStrict provider
2026-05-12 10:10:48 +08:00
geroge
206cd1f4d4
Merge pull request #53 from Askhz/fix/undici-dependency-missing
fix: 设置https_proxy参数时启动csc卡住
2026-05-12 10:10:23 +08:00
Askhz
1970c698ea feat(costrict): 根据模型列表动态设置 max_tokens 参数
从 /ai-gateway/api/v1/models 返回的模型信息中读取 maxTokensKey
和 maxTokens 字段,发送请求时动态注入对应参数名和参数值。
maxTokensKey 缺失时默认使用 max_tokens,maxTokens 无值时不传该参数。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 21:23:28 +08:00
DoSun
c147cf7578
Merge pull request #62 from Askhz/fix/server-exe-feature-args
fix(server): 修复 csc.exe server 模式下探针进程因 --feature 参数崩溃导致模型列表为空
2026-05-11 21:02:00 +08:00
Askhz
40dc2720d0 fix(server): 修复 csc.exe server 模式下探针进程因 --feature 参数崩溃导致模型列表为空
Bun 将源码编译为独立可执行文件后,process.argv[1] 变为内部虚拟路径
(B:/~BUN/root/cli.js),该路径含 / 被误判为脚本模式,导致 saveChildSpawnPrefix
为子进程生成 --feature / -d 参数。子进程(csc.exe 本身)不识别这些 Bun
运行时参数,以 exit code 1 退出,探针失败,/provider/capabilities 返回空模型。

修复:
- getScriptArgsForChild: 识别并跳过 Bun snapshot 虚拟路径前缀 (B:/~BUN/, /snapshot/)
- saveChildSpawnPrefix: 仅在 scriptArgs 非空(脚本模式)时才生成 --feature/define 参数
- build.ts: 补充 Step 7 编译独立可执行文件 csc.exe / csc

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 20:59:10 +08:00
kingboung
c431001a4a Merge remote-tracking branch 'origin/main' into feat/migrate-review-agents 2026-05-11 20:54:55 +08:00
kingboung
62efcef508 refactor: consolidate review skill registration and fix command conflicts
- Merge strict:review/strict:security-review into reviewSkills.ts (single
  file registers all four commands: /review, /security-review,
  /strict:review, /strict:security-review)
- Remove conflicting prompt commands from src/commands/ (review.ts,
  security-review.ts) so bundled skills take precedence
- Remove REVIEW_AGENTS import from builtInAgents.ts and mcp.ts
- Remove agent generation logic from generate-review-builtin.ts
- Configure allowedTools and model: 'inherit' per claudecode spec
- Switch test branch to optimize/agent-prompts

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 20:52:18 +08:00