Commit Graph
679 Commits
Author SHA1 Message Date
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 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 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
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
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
walker1211andClaude 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
walker1211andClaude 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
walker1211andClaude 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
walker1211andClaude 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
walker1211andClaude 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
walker1211andClaude 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
walker1211andClaude 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
walker1211andClaude 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
walker1211andClaude 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
walker1211andClaude 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
walker1211andClaude 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
walker1211andClaude 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
walker1211andClaude Opus 4.7 e92a2c11bf feat(browser): 完成 browser MCP 第四阶段输入能力
补齐 browser_click 的精细点击参数,并新增 browser_press_key 与 browser_scroll,继续扩展 browser MCP 的真实交互能力。
同步更新单测与浏览器自动化文档,确保 Phase 4 能力完成并通过验证。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 13:59:15 +08:00
walker1211andClaude Opus 4.7 cf2375e169 feat(browser): 完成 browser MCP 第三阶段能力
补齐 iframe/shadow 作用域查询与页面事件观察能力,并同步测试与文档,确保 Phase 3 以可验证增量独立收口。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 01:55:16 +08:00
walker1211 b90eae3892 feat(browser): 完成 browser MCP 第一阶段能力与配置打通
- 增加 browser_wait_for、browser_eval 及 click/query 扩展能力
- 打通 browser eval_mode 的配置、状态、启动链路与设置界面
- 补充浏览器相关测试隔离、文档和 CI parity 收尾调整
2026-04-18 00:29:43 +08:00
Tam Nhu Tran 4583ffa022 fix(browser): reset blank attach path to default 2026-04-16 19:00:14 -04:00
Tam Nhu Tran 8a17410f96 fix(browser): address platform and port review 2026-04-16 18:49:24 -04:00
Tam Nhu Tran 4e30c9b080 feat(cli): add browser automation commands 2026-04-16 18:49:24 -04:00
Tam Nhu Tran 6b53df0147 fix(cliproxy): align delegated gemini auth recovery 2026-04-16 14:15:03 -04:00
Tam Nhu Tran 4845b797de test(cliproxy): stabilize routing strategy config scope 2026-04-16 14:06:27 -04:00
Tam Nhu Tran 637a591dca fix(cliproxy): avoid duplicate gemini management retries 2026-04-16 12:59:15 -04:00
Tam Nhu Tran 9dc6374851 fix(cliproxy): delegate gemini refresh to upstream 2026-04-16 12:49:51 -04:00
Kai (Tam Nhu) TranandGitHub 0be0cbaa80 Merge pull request #1029 from kaitranntt/kai/fix/codex-gpt-5-4-mini-presets
fix: align Codex defaults with GPT-5.4 models
2026-04-16 03:46:35 -04:00
Tam Nhu Tran 80847b4e6b fix(cliproxy): align codex defaults with gpt-5.4 2026-04-16 03:41:38 -04:00
Tam Nhu Tran 2e2ba1c09b test(ci): use runtime-relative isolated child scripts
- derive repo imports from each test file via file URLs

- avoid hardcoded paths in the repo

- launch child scripts with the current runtime for consistent local and runner behavior
2026-04-16 00:20:01 -04:00
Tam Nhu Tran 2ba3a0ab02 test(ci): stabilize runner-sensitive isolated tests
- isolate tokens and session-tracker tests in child processes

- make child scripts resolve repo modules from the test location

- avoid machine-specific paths in the repo
2026-04-16 00:08:46 -04:00
Tam Nhu Tran 27f1416181 fix(cliproxy): avoid network-bound local startup
- skip CLIProxy auto-update checks on runtime bootstrap paths

- fail fast when local startup needs a missing binary instead of attempting installs

- add regression coverage for dashboard limited mode and startup test isolation
2026-04-15 22:55:11 -04:00
Tam Nhu Tran 1923d87a84 chore: merge dev into openai provider routing 2026-04-15 20:36:03 -04:00
Tam Nhu Tran 546ba01c38 Merge remote-tracking branch 'origin/dev' into kai/feat/1016-missing-provider-integration 2026-04-15 17:48:55 -04:00
Tam Nhu Tran 58c2c46ed7 fix(cursor): migrate legacy settings and validate gitlab urls 2026-04-15 17:48:33 -04:00
Tam Nhu Tran 3b5941c60b feat(cursor): split legacy bridge from cliproxy provider 2026-04-15 17:04:37 -04:00
Tam Nhu Tran 2293368e31 fix(shared-manager): prune transient and malformed marketplace entries 2026-04-15 16:29:25 -04:00
xuhaodong 5b262f0139 fix(shared-manager): exclude .staging dirs from marketplace registry sync
Claude Code's marketplace auto-update uses a three-step atomic rename:
clone to <name>.staging → rename old dir to <name>.bak → rename staging
to the final name. On Windows, EPERM errors can interrupt the rename-dance
and leave a <name>.staging directory permanently on disk.

CCS scanned physical directories to discover marketplaces, so a lingering
.staging directory was registered as a bare { installLocation } entry in
known_marketplaces.json. Claude Code's Zod schema requires each entry to
also have `source` and `lastUpdated` fields, so the corrupt entry caused
the /plugin command to throw a validation error.

Fix (two layers of defence):

- discoverMarketplaceEntries: skip any directory whose name starts with
  '.' or ends with '.staging'. This filters all hidden dirs including
  .staging and .bak left behind by interrupted rename operations.

- buildMarketplaceRegistryContent: invert the loop direction. Instead of
  iterating discoveredEntries and adding to the registry (which could
  introduce bare entries for disk-only directories with no registry
  record), iterate the merged registry and only keep entries that also
  exist on disk. Disk-only directories are now silently ignored.

Adds two regression tests: one for .staging pollution, one for orphan
registry entries whose physical directory has been removed.
2026-04-15 15:02:54 +08:00
Tam Nhu Tran 841eeb497c fix(proxy): keep stream guards active through sse piping 2026-04-15 02:52:29 -04:00
Tam Nhu Tran 7f1c23607d fix(gitlab): sanitize PAT auth failures across cli and web 2026-04-15 02:01:39 -04:00
Tam Nhu Tran a3407093d7 refactor(proxy): internalize sse translation and cleanup handlers 2026-04-15 01:44:01 -04:00
Tam Nhu Tran 4e738ee021 fix(cli): document gitlab shortcut flags and harden cursor routing 2026-04-15 01:39:31 -04:00
Tam Nhu Tran 87d93b651b fix(cursor): deprecate legacy bridge and harden gitlab auth 2026-04-15 01:23:15 -04:00
Tam Nhu Tran 17187c4abd feat(proxy): complete openai routing scope 2026-04-15 00:55:11 -04:00
Tam Nhu Tran 2d9f8c9695 feat(cliproxy): integrate missing provider support 2026-04-15 00:26:12 -04:00
Tam Nhu Tran a6aa576d5a fix(proxy): detect dashscope compatible-mode profiles 2026-04-14 23:49:34 -04:00
Tam Nhu Tran 050b41bb55 fix(cliproxy): harden Claude OAuth quota window parsing 2026-04-14 23:09:18 -04:00
Tam Nhu Tran 9e880825e7 fix(cliproxy): fetch Claude OAuth quota from usage endpoint 2026-04-14 23:01:16 -04:00
Kai (Tam Nhu) TranandGitHub 23d45b7f19 Merge pull request #1007 from kaitranntt/kai/fix/972-claude-team-reauth
fix: clear stale cliproxy reauth badge after oauth
2026-04-14 21:20:19 -04:00