Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/architecture/agent-sdk-product-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ await using client = await AgentClient.start({ cwd });
// 常见的一次 Query;返回可迭代、可取消、可关闭的句柄。
await using query = await client.query({
prompt: "Find and fix the failing test",
allowedTools: ["Read", "Edit", "Bash"],
allowedTools: ["Read", "Edit", "ExecCommand"],
});
for await (const message of query) {
// Message / Event / Result
Expand Down
6 changes: 3 additions & 3 deletions docs/development/ui-testids-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,8 +209,8 @@
| Chat shell 命令文本 | `chat-shell-command-text` | Shell 命令文本节点。 |
| Chat shell 命令输出 | `chat-shell-command-output` | Shell 命令 stdout/stderr 或实时输出区域。 |
| Chat shell 命令退出码 | `chat-shell-command-exit-code` | 退出码节点。包含 `data-exit-code` 和 `data-status`。 |
| Chat shell 工具卡片 | `chat-shell-tool-card` | Bash 的外层 FlowToolCard wrapper。包含 `data-tool-name` 和 `data-tool-card-id`。 |
| Chat shell 工具打开面板按钮 | `chat-shell-tool-open-panel` | 存在 terminal session 时,从 Bash ToolCard 打开关联终端面板。 |
| Chat shell 工具卡片 | `chat-shell-tool-card` | ExecCommand 的外层 FlowToolCard wrapper。包含 `data-tool-name` 和 `data-tool-card-id`。 |
| Chat shell 工具打开面板按钮 | `chat-shell-tool-open-panel` | 存在 terminal session 时,从 ExecCommand 卡片打开关联终端面板。 |
| Chat browser 工具卡片 | `chat-browser-tool-card` | WebFetch 的外层 FlowToolCard wrapper。包含 `data-tool-name` 和 `data-tool-card-id`。 |
| Chat 文件变更卡片 | `chat-file-change-card` | 文件操作卡片根节点。包含 `data-status`、`data-action`、`data-path` 和 `data-expanded`。 |
| Chat 文件变更展开按钮 | `chat-file-change-toggle` | 文件操作卡片的展开/收起点击目标。 |
Expand Down Expand Up @@ -299,7 +299,7 @@

说明:

- 独立 xterm 终端没有结构化的逐命令历史 DOM。测试应使用 `shell-command-output` 断言终端渲染输出,使用 `chat-shell-command-*` 断言结构化 Bash ToolCard
- 独立 xterm 终端没有结构化的逐命令历史 DOM。测试应使用 `shell-command-output` 断言终端渲染输出,使用 `chat-shell-command-*` 断言结构化 ExecCommand 卡片
- `shell-command-copy` 当前未暴露,因为活动终端复制能力基于选择/右键上下文菜单,并不是稳定可见按钮。

## Browser Panel
Expand Down
4 changes: 2 additions & 2 deletions docs/development/ui-testids.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ Avoid adding IDs to these surfaces unless there is a clear automated workflow.
| Chat shell command text | `chat-shell-command-text` | Shell command text node. |
| Chat shell command output | `chat-shell-command-output` | Shell command stdout/stderr or live output area. |
| Chat shell command exit code | `chat-shell-command-exit-code` | Exit code node. Includes `data-exit-code` and `data-status`. |
| Chat shell tool card | `chat-shell-tool-card` | Outer FlowToolCard wrapper for Bash. Includes `data-tool-name` and `data-tool-card-id`. |
| Chat shell tool card | `chat-shell-tool-card` | Outer FlowToolCard wrapper for ExecCommand. Includes `data-tool-name` and `data-tool-card-id`. |
| Chat shell tool open panel | `chat-shell-tool-open-panel` | Opens the associated terminal panel when a terminal session is available. |
| Chat browser tool card | `chat-browser-tool-card` | Outer FlowToolCard wrapper for WebFetch. Includes `data-tool-name` and `data-tool-card-id`. |
| Chat file change card | `chat-file-change-card` | File operation card root. Includes `data-status`, `data-action`, `data-path`, and `data-expanded`. |
Expand Down Expand Up @@ -299,7 +299,7 @@ Avoid adding IDs to these surfaces unless there is a clear automated workflow.

Notes:

- The standalone xterm terminal does not expose a structured per-command history DOM. Tests should use `shell-command-output` for rendered terminal output and `chat-shell-command-*` for structured Bash ToolCard assertions.
- The standalone xterm terminal does not expose a structured per-command history DOM. Tests should use `shell-command-output` for rendered terminal output and `chat-shell-command-*` for structured ExecCommand card assertions.
- `shell-command-copy` is not currently exposed because the active terminal copy action is context-menu/selection driven rather than a stable visible button.

## Browser Panel
Expand Down
17 changes: 8 additions & 9 deletions docs/features/session-runtime-usage-report-design.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,7 @@ Models
gpt-5.4: 8 req, 183,420 input, 21,908 output

Tools
Bash: 14 calls, 2m 31s, 2 errors
Git: 5 calls, 42s
ExecCommand: 19 calls, 3m 13s, 2 errors
Write/Edit: 7 calls, 1m 08s
```

Expand Down Expand Up @@ -151,9 +150,9 @@ Current implemented Markdown shape:
| gpt-5.4 | 8 | 183,420 | 21,908 | 205,328 |

### Slowest Work
1. Bash `pnpm run build:web` - 1m 42s
1. ExecCommand `pnpm run build:web` - 1m 42s
2. Context compression - 28s
3. Git `fetch origin main` - 19s
3. ExecCommand `git fetch origin main` - 19s
```

The detailed visual report exists alongside the Markdown snapshot. It uses the structured DTO when present and falls back to the Markdown snapshot for historical/local-only reports.
Expand Down Expand Up @@ -316,7 +315,7 @@ Required change:

Missing:

- Git can happen through the dedicated Git tool or through Bash/terminal commands.
- Git now runs through ExecCommand; persisted legacy sessions may still contain dedicated Git or Bash calls.

Required change:

Expand Down Expand Up @@ -1384,8 +1383,8 @@ Steps:
1. Persist or emit queue wait, preflight, confirmation wait, execution, and total duration for completed tools.
2. Include best-effort total duration for failed and cancelled tools.
3. Add a report-only classifier for tool categories.
4. Classify dedicated Git tool calls as `git`.
5. Classify terminal calls as `git` only when the normalized command clearly invokes Git.
4. Classify legacy dedicated Git tool calls as `git`.
5. Classify ExecCommand and legacy terminal calls as `git` only when the normalized command clearly invokes Git.
6. Classify file operations by tool name and snapshot operation metadata.
7. When SubagentScheduler or budget governance events exist, consume their queued/running/retry/backoff summaries as runtime facts instead of inferring them from tool names.

Expand All @@ -1407,8 +1406,8 @@ Risks and mitigations:

Verification:

- Unit tests for Git tool classification.
- Unit tests for Bash Git command classification and false positives.
- Unit tests for legacy Git tool classification.
- Unit tests for ExecCommand Git command classification and false positives.
- Existing tool lifecycle tests still pass.

### Task 10: File-change report integration
Expand Down
Loading
Loading