semantic-release-bot
513896b1af
chore(release): 7.73.0 [skip ci]
...
## [7.73.0](https://github.com/kaitranntt/ccs/compare/v7.72.1...v7.73.0 ) (2026-04-19)
### Features
* **proxy:** enhance Anthropic-to-OpenAI message transformation and schema sanitization ([2672e35 ](https://github.com/kaitranntt/ccs/commit/2672e35362938b054710de681760bd24c3c39e19 ))
### Bug Fixes
* **browser:** bootstrap managed attach profile setup ([b525033 ](https://github.com/kaitranntt/ccs/commit/b52503300b0c434fbb9d88283643d3ceaa673d44 ))
* **cliproxy:** preserve legacy openai-compat connectors on restart ([16f81fc ](https://github.com/kaitranntt/ccs/commit/16f81fc8a595792f1c1a6df060f88cdf28d7afb6 ))
* **codex:** probe Windows cmd wrappers via cmd shell ([210ec33 ](https://github.com/kaitranntt/ccs/commit/210ec33c04fe88be2b651c2163f638085b1b6bd2 ))
* **proxy:** harden Anthropic request transformation semantics ([ebc9219 ](https://github.com/kaitranntt/ccs/commit/ebc92194bb9bf2810e10f64de1fa6e599c2fa156 ))
* **proxy:** preserve valid enums during schema normalization ([22ab58b ](https://github.com/kaitranntt/ccs/commit/22ab58b02e5dc34f152ecce048c1fbf7d615bdfb ))
* **proxy:** restore strict Anthropic message validation ([32d6bfd ](https://github.com/kaitranntt/ccs/commit/32d6bfdda7881a42a376d0973c021f0b47eed7e2 ))
* **repo:** remove tracked plans workspace files ([bc4ab98 ](https://github.com/kaitranntt/ccs/commit/bc4ab98af41e9c9f049cc5da2e6ff356832ef14b ))
* **targets:** use cmd.exe for escaped Windows wrapper launches ([a945b0b ](https://github.com/kaitranntt/ccs/commit/a945b0b1047b85a7b343dfe35d8ae9680346e25f ))
* **windows:** align escaped wrapper shell handling ([ccdd0b6 ](https://github.com/kaitranntt/ccs/commit/ccdd0b6e8e4185ec2b01186cfc69e28f171d0906 ))
### Tests
* **cliproxy:** assert routing persistence via unified config loader ([485fe4b ](https://github.com/kaitranntt/ccs/commit/485fe4ba1c5878083c6e2b6a2d98b37208772a1f ))
* **cliproxy:** cover legacy connector removal cleanup ([00d902b ](https://github.com/kaitranntt/ccs/commit/00d902b6e64839cd6b89446cc5dee540f2a059b8 ))
* **cliproxy:** isolate routing strategy service state ([5e1e807 ](https://github.com/kaitranntt/ccs/commit/5e1e8070e821dbe660ea77bc96fec610937ed44a ))
* **websearch:** clear CCS_PROFILE_TYPE in SearXNG fallback spawn env ([e25d791 ](https://github.com/kaitranntt/ccs/commit/e25d791d9bee38e7143757d37c42bd850e471ae8 ))
### CI
* add concurrency group and split build/test with artifact sharing ([ad54e17 ](https://github.com/kaitranntt/ccs/commit/ad54e179b6a3921fd26ad3ac585f5ef965b01c1b ))
* **pre-push:** skip gate for delete-only pushes ([6236cb7 ](https://github.com/kaitranntt/ccs/commit/6236cb7feb15e954f7f65ae98e6fd98b323a4adb ))
2026-04-19 21:38:12 +00:00
Kai (Tam Nhu) Tran
92a2419a05
Merge pull request #1048 from kaitranntt/dev
...
chore: promote dev to main
2026-04-19 17:35:37 -04:00
Kai (Tam Nhu) Tran
ba0a7ccd60
Merge pull request #1046 from kaitranntt/kai/fix/remove-tracked-plans
...
fix(repo): remove tracked plans workspace files
2026-04-19 17:31:02 -04:00
Tam Nhu Tran
bc4ab98af4
fix(repo): remove tracked plans workspace files
2026-04-19 17:22:40 -04:00
Tam Nhu Tran
6236cb7feb
ci(pre-push): skip gate for delete-only pushes
...
Git passes refs on stdin; deletes have local-sha = 40 zeros. Running the
full parity gate just to delete an already-merged branch wastes ~90s per
cleanup. Guard short-circuits when every ref being pushed is a delete.
2026-04-19 15:52:41 -04:00
github-actions[bot]
719ba177fb
chore(release): 7.72.1-dev.7 [skip ci]
2026-04-19 19:45:13 +00:00
Kai (Tam Nhu) Tran
14e2249564
Merge pull request #1045 from kaitranntt/kai/chore/ci-optimization-pass
...
ci: concurrency group + split build/test with artifact sharing
2026-04-19 15:43:05 -04:00
Tam Nhu Tran
ad54e179b6
ci: add concurrency group and split build/test with artifact sharing
...
- Add concurrency group keyed on github.ref with cancel-in-progress to stop superseded runs on rapid pushes
- Split validate matrix into: validate (typecheck/lint/format), build, test
- Build uploads dist/ artifact; test downloads instead of rebuilding (removes inline build:all duplication)
- Net: faster feedback, less runner time, DRY build step
2026-04-19 15:40:21 -04:00
github-actions[bot]
76283e0c69
chore(release): 7.72.1-dev.6 [skip ci]
2026-04-19 19:35:58 +00:00
Kai (Tam Nhu) Tran
4a924fc523
Merge pull request #1044 from kaitranntt/kai/chore/ci-speed-and-ai-doc-gate
...
chore(ci): parallelize CI matrix + cache, tighten AI-facing quality gate
2026-04-19 15:33:28 -04:00
Tam Nhu Tran
485fe4ba1c
test(cliproxy): assert routing persistence via unified config loader
...
The previous assertion read the generated CLIProxy config.yaml directly via
getConfigPathForPort(). On the self-hosted CI runner this produced ENOENT even
though applyCliproxyRoutingStrategy returned 'config-only', indicating the
read path and write path diverged in the full test-suite context.
Verify persistence via loadUnifiedConfig() instead — that's the canonical
source mutateUnifiedConfig writes to, independent of regenerateConfig's
file-path resolution.
2026-04-19 15:27:24 -04:00
Tam Nhu Tran
e25d791d9b
test(websearch): clear CCS_PROFILE_TYPE in SearXNG fallback spawn env
...
The SearXNG-to-DuckDuckGo fallback test inherited the caller's CCS_PROFILE_TYPE
via `...process.env`, causing the hook to take the 'native_default_profile'
skip path and produce empty stdout. All other subprocess spawns in this file
set CCS_PROFILE_TYPE to NEUTRAL_PROFILE_TYPE; this one was the outlier.
Deterministic locally when CCS_PROFILE_TYPE=default is set in the shell.
2026-04-19 15:21:36 -04:00
Tam Nhu Tran
b014b5cb51
chore(ci): parallelize CI matrix + cache, tighten AI-facing quality gate
...
- ci.yml: 5-job matrix (typecheck/lint/format/build/test), fail-fast off,
actions/cache on ~/.bun/install/cache + node_modules + ui/node_modules.
Target wall time ~60-90s vs prior ~3-4min.
- .husky/pre-push: add bun run build:all to feature-branch fast gate so
UI tsc -b errors are caught pre-push (~18s warm).
- CLAUDE.md (symlinked as AGENTS.md): fix validate drift (maintainability
is NOT part of validate), add CI-First Protocol mandating gh pr checks
--watch after every push, replace pre-commit checklist with two-tier
model (iterative push vs pre-merge).
Branch protection on main/dev must be updated post-merge to require the
new matrix status checks instead of the single legacy "validate" check.
2026-04-19 14:47:18 -04:00
github-actions[bot]
003f55f41a
chore(release): 7.72.1-dev.5 [skip ci]
2026-04-19 18:38:03 +00:00
Kai (Tam Nhu) Tran
cfe4dc2de0
Merge pull request #1043 from kaitranntt/kai/fix/windows-codex-wrapper-quoting
...
fix(targets): use cmd.exe for escaped Windows wrapper launches
2026-04-19 14:35:45 -04:00
Tam Nhu Tran
ccdd0b6e8e
fix(windows): align escaped wrapper shell handling
...
Use ComSpec-aware shell selection for escaped wrapper launches.
Apply it to the remaining Windows Claude launch paths.
Rewrite the Codex exec regression test to use scoped spies so the full suite stays isolated.
2026-04-19 14:27:27 -04:00
Tam Nhu Tran
a945b0b104
fix(targets): use cmd.exe for escaped Windows wrapper launches
...
Align Windows .cmd/.bat launch behavior with the Codex detector shell contract.
This keeps escaped -c overrides intact through wrapper execution.
Adds regression coverage for the Codex runtime path and the shared Windows shell launch path.
2026-04-19 14:09:12 -04:00
walker1211 and Claude Opus 4.7
844b5f6c42
feat(browser): 完成 Phase 9 拖拽与指针动作能力
...
补齐文件拖拽、元素拖拽与受限 pointer 原语,让 Browser MCP 能覆盖常见上传与页面内拖放交互。
并补足 pageId 路由与回归测试,保持与现有 selected-page 语义一致。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-19 18:41:18 +08:00
walker1211 and Claude Opus 4.7
492ee5b083
feat(browser): 完成 Phase 8 文件传输能力
...
增加 browser-scoped 下载控制与 page-scoped file input 上传,补齐 Phase 8 文档与回归覆盖,并去掉下载列表的 pageId 假能力以保持语义一致。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-19 13:46:07 +08:00
github-actions[bot]
9ccac9bf39
chore(release): 7.72.1-dev.4 [skip ci]
2026-04-19 00:46:12 +00:00
Kai (Tam Nhu) Tran
06e339b7be
Merge pull request #1041 from kaitranntt/kai/fix/1038-openai-compat-regen
...
fix(cliproxy): preserve legacy openai-compat connectors on restart
2026-04-18 20:43:52 -04:00
Tam Nhu Tran
00d902b6e6
test(cliproxy): cover legacy connector removal cleanup
2026-04-18 20:39:46 -04:00
github-actions[bot]
eeea3e1c99
chore(release): 7.72.1-dev.3 [skip ci]
2026-04-19 00:12:55 +00:00
Kai (Tam Nhu) Tran
72c0dca5d8
Merge pull request #1037 from grndis/main
...
feat(proxy): enhance Anthropic-to-OpenAI message transformation
2026-04-18 20:10:37 -04:00
Tam Nhu Tran
25193187e0
chore(proxy): remove unused schema sanitizer draft
2026-04-18 20:05:22 -04:00
Tam Nhu Tran
16f81fc8a5
fix(cliproxy): preserve legacy openai-compat connectors on restart
2026-04-18 20:05:05 -04:00
Tam Nhu Tran
ebc92194bb
fix(proxy): harden Anthropic request transformation semantics
...
- enforce strict tool_result ordering and pairing against assistant tool_use ids
- reject tool_result image payloads that cannot map to OpenAI tool messages
- preserve raw tool schemas on the /v1/messages proxy path instead of silently tightening them
- forward Anthropic tool_choice semantics and cover adaptive routing plus upstream payload checks
2026-04-18 19:39:13 -04:00
Tam Nhu Tran
22ab58b02e
fix(proxy): preserve valid enums during schema normalization
2026-04-18 19:02:55 -04:00
Tam Nhu Tran
32d6bfdda7
fix(proxy): restore strict Anthropic message validation
2026-04-18 19:02:38 -04:00
github-actions[bot]
b71e5845d5
chore(release): 7.72.1-dev.2 [skip ci]
2026-04-18 22:56:19 +00:00
Kai (Tam Nhu) Tran
f87d09f278
Merge pull request #1040 from kaitranntt/kai/fix/browser-attach-bootstrap
...
fix(browser): bootstrap managed attach profile setup
2026-04-18 18:53:56 -04:00
Tam Nhu Tran
5e1e8070e8
test(cliproxy): isolate routing strategy service state
2026-04-18 17:28:34 -04:00
github-actions[bot]
374c4975fc
chore(release): 7.72.1-dev.1 [skip ci]
2026-04-18 21:20:40 +00:00
NamNH2
210ec33c04
fix(codex): probe Windows cmd wrappers via cmd shell
2026-04-18 17:18:18 -04:00
Tam Nhu Tran
b52503300b
fix(browser): bootstrap managed attach profile setup
2026-04-18 17:18:14 -04:00
walker1211 and Claude Opus 4.7
26aa8f4c20
docs(browser): 增补 browser MCP 第八阶段设计
...
明确下载控制与最小上传的下一阶段范围,按官方 CDP 边界区分 browser-scoped downloads 与 page-scoped uploads。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-19 01:43:54 +08:00
walker1211 and Claude Opus 4.7
126c30ac1a
test(browser): 补充 Phase 7 回归覆盖并同步文档
...
补齐 richer request matching 的边界与顺序回归覆盖,锁定同优先级规则继续按创建顺序命中,并同步 Phase 7 文档说明。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-19 01:15:39 +08:00
walker1211 and Claude Opus 4.7
bd073acf47
feat(browser): 增加 richer request matching 能力
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-19 00:43:37 +08:00
walker1211 and Claude Opus 4.7
cb415b4127
test(browser): 添加 Phase 7 richer matching 失败测试
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-19 00:38:12 +08:00
walker1211 and Claude Opus 4.7
ef06564b60
test(browser): 扩展 richer matching interception harness
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-19 00:32:55 +08:00
walker1211 and Claude Opus 4.7
a5ef77a3d8
docs(browser): 增补 browser MCP 第七阶段设计
...
明确 Phase 7 继续沿 network interception 路线推进 richer request matching。
收敛匹配增强的范围、边界、数据模型与测试策略,为后续在独立 phase7 worktree 中实现做准备。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-18 23:57:21 +08:00
walker1211 and Claude Opus 4.7
447b5c8bc1
test(browser): 补充 Phase 6B 边界覆盖并同步文档
...
补齐 fulfill 参数校验与页面关闭后的状态清理回归测试,确保 mock response 行为在边界条件下可验证。
同步 Browser Automation 文档,明确 Phase 6B 的 fulfill 能力与 session-local 语义。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-18 23:38:28 +08:00
walker1211 and Claude Opus 4.7
f133deb539
feat(browser): 增加 Phase 6B mock response 能力
...
在现有拦截规则之上补齐 fulfill 动作,支持最小状态码、响应头和文本响应体。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-18 23:15:04 +08:00
walker1211 and Claude Opus 4.7
1fbb53c4b1
test(browser): 添加 Phase 6B fulfill 失败测试
...
先补 browser_add_intercept_rule 的 fulfill schema、mock response 主路径与基础边界失败测试。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-18 23:12:35 +08:00
walker1211 and Claude Opus 4.7
23eccb24f3
test(browser): 扩展 fulfill interception harness
...
为 Phase 6B 增加 Fetch.fulfillRequest 记录能力,便于后续 mock response TDD。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-18 23:09:14 +08:00
walker1211 and Claude Opus 4.7
a93e0b6494
feat(browser): 完成 browser MCP 第六阶段 6A 最小拦截闭环
...
补齐最小 request interception 工具链与会话内状态管理,确保规则绑定具体页面并通过完整验证门禁。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-18 22:03:17 +08:00
walker1211 and Claude Opus 4.7
491e9db51e
test(browser): 添加 Phase 6A 失败测试
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-18 17:01:47 +08:00
walker1211 and Claude Opus 4.7
68b56839db
test(browser): 扩展 network interception harness
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-18 16:59:25 +08:00
walker1211 and Claude Opus 4.7
e0b58ee162
docs(browser): 增补 browser MCP 第六阶段设计
...
明确 Phase 6A/6B 的拆分,收敛 network interception 与 mock responses 的最小闭环,
并固化规则绑定、请求摘要与页级拦截会话的设计边界。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-18 16:51:06 +08:00
walker1211 and Claude Opus 4.7
ff0e7085b8
feat(browser): 完成 browser MCP 第五阶段页面控制
...
补充 selected page 会话状态与页面选择、打开、关闭能力,
并为 browser_get_session_info 增加 selected 标记与最小多标签文档说明。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-18 16:39:51 +08:00