Commit Graph
3547 Commits
Author SHA1 Message Date
walker1211andClaude Opus 4.7 101396f728 feat(browser): 增加 orchestration 执行策略增强
为 block 与 sequence step 增加最小 continueOnError 语义,并补充 failures 汇总输出。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 19:35:52 +08:00
walker1211andClaude Opus 4.7 78f3879e19 docs(browser): 增补 11B sequence 能力说明
同步 Browser MCP 文档中的 sequence 组合块、单层约束与失败定位说明。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 19:06:03 +08:00
walker1211andClaude Opus 4.7 0038b063ac feat(browser): 增加 sequence 组合块能力
新增单层 sequence 容器以组合现有 orchestration blocks,并补充 sequence 内失败定位能力。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 18:55:24 +08:00
walker1211andClaude Opus 4.7 26baa019e3 docs(browser): 增补 11A 断言与诊断能力说明
同步 Browser MCP 文档中的结构化 assertions、比较操作与失败诊断输出说明。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 17:51:26 +08:00
walker1211andClaude Opus 4.7 4af967559c feat(browser): 增强 assert_query 断言与诊断信息
为 assert_query 增加 assertions 数组、更多比较操作和结构化失败 diagnostics。
并补充多断言、类型错误和数值比较的回归覆盖。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 17:39:19 +08:00
walker1211andClaude Opus 4.7 c708bde817 docs(browser): 增补 Phase 10C orchestration 能力说明
同步 Browser MCP 文档中的 Phase 10C orchestration 工具面、固定 block 语义与 session-local 边界。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 15:10:55 +08:00
walker1211andClaude Opus 4.7 77855035f4 feat(browser): 完成 Phase 10C orchestration 能力
新增固定流程块 orchestration 闭环,支持 wait_then_click、wait_then_type、run_replay_sequence 与 assert_query。
并补充 block 级失败定位与相关回归覆盖。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 15:00:15 +08:00
Wooseong Kim 6928d8bb65 fix(proxy): parse flag options before profile args 2026-04-20 15:44:20 +09:00
Wooseong Kim afcb1abf9e fix(proxy): retain explicit profile names in status 2026-04-20 15:30:51 +09:00
Wooseong Kim 391bdddc22 fix(proxy): handle legacy stop and preferred ports 2026-04-20 15:25:16 +09:00
Wooseong Kim 54c3b2d40b fix(proxy): avoid undefined status port output 2026-04-20 15:14:20 +09:00
walker1211andClaude Opus 4.7 2099145e2c docs(browser): 增补 Phase 10B replay 能力说明
同步 Browser MCP 文档中的 Phase 10B replay 工具面、顺序执行语义与 session-local 边界。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 14:06:15 +08:00
Wooseong Kim c0c119867a fix(proxy): persist daemon state after startup 2026-04-20 15:04:24 +09:00
Wooseong Kim 8ad2763942 fix(proxy): retry candidate ports on bind conflict 2026-04-20 14:59:59 +09:00
walker1211andClaude Opus 4.7 9d21e83d46 feat(browser): 完成 Phase 10B replay 能力
新增最小 replay 闭环,支持消费 10A 结构化 steps 并顺序回放常见动作。
同时补充输入校验、失败定位与 replay 边界覆盖。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 13:59:34 +08:00
Wooseong Kim db32d15d86 fix(proxy): preserve running daemons on restart failure 2026-04-20 14:51:32 +09:00
Wooseong Kim dfd070c9c6 fix(proxy): honor subcommand help flags 2026-04-20 14:42:19 +09:00
Wooseong Kim 7cf555356a fix(proxy): retry raced dynamic port binds 2026-04-20 14:33:44 +09:00
Wooseong Kim 2a80f7b1c1 fix(proxy): handle end-of-options parsing 2026-04-20 14:27:09 +09:00
Wooseong Kim f4f33b0b5f fix(ci): rely on idempotent dependency sync 2026-04-20 14:27:02 +09:00
walker1211andClaude Opus 4.7 b477a75d0e docs(browser): 增补 Phase 10A recording 能力说明
同步 Browser MCP 文档中的 Phase 9 与 Phase 10A 工具面、能力边界与 session-local 约束。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 13:19:03 +08:00
Wooseong Kim 02747edb72 fix(ci): validate cached ui dependencies 2026-04-20 14:15:00 +09:00
Wooseong Kim f345cf441e fix(proxy): ignore legacy singleton session file 2026-04-20 14:09:50 +09:00
Wooseong Kim 24c24847f7 fix(proxy): preserve legacy state and exact ports 2026-04-20 14:03:12 +09:00
walker1211andClaude Opus 4.7 5288387151 feat(browser): 完成 Phase 10A 录制动作规范化
补齐 recording 安装阶段的真实页面监听与注入失败回滚,避免空录制和损坏会话状态。
并完善高层 step 规范化与相关回归覆盖。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 12:50:15 +08:00
walker1211andClaude Opus 4.7 17a3434056 feat(browser): 增加 Phase 10A recording 生命周期
补齐 recording session state、基础 recorder 注入与 capture 读取,打通 start/stop/get/clear 最小闭环。
并补充 pageId 路由、生命周期错误与 page close 停止录制覆盖。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 12:44:22 +08:00
Wooseong Kim 630a493cca fix(proxy): disambiguate activate without profile 2026-04-20 13:28:25 +09:00
Wooseong Kim 46db668636 chore(gitignore): ignore local agent override files 2026-04-20 13:19:42 +09:00
Wooseong Kim 8942be3afc test(proxy): cover multi-profile daemon ports 2026-04-20 13:14:19 +09:00
Wooseong Kim 94bf1fbfe9 feat(proxy): support profile-scoped local proxy ports 2026-04-20 13:14:19 +09:00
Kai (Tam Nhu) TranandGitHub fc9dd23a2e Merge pull request #1050 from kaitranntt/kai/feat/1049-browser-setup-flow
feat: add browser setup flow for Claude attach
2026-04-19 22:36:07 -04:00
Tam Nhu Tran 341e612e48 test: align browser launch assertions with setup guidance 2026-04-19 22:26:18 -04:00
Tam Nhu Tran f36c4a6e32 fix: keep browser setup config-only 2026-04-19 22:07:58 -04:00
Tam Nhu Tran 7ad8bbf0a1 feat: add browser setup flow for Claude attach 2026-04-19 22:00:16 -04:00
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) TranandGitHub 92a2419a05 Merge pull request #1048 from kaitranntt/dev
chore: promote dev to main
2026-04-19 17:35:37 -04:00
Kai (Tam Nhu) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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