feat: support Agent Window sizing (session start --width/--height, window resize) (#52)

- `bsk session start --width <px> --height <px>` opens the Agent Window
  with the given outer size (chrome.windows.create)
- new `bsk window resize --session <id> --width <px> --height <px>`
  resizes the Agent Window at runtime (chrome.windows.update)
- both validated on CLI, daemon and extension sides (100..=7680 CSS px)
- protocol: new tool.window_resize method (BrowserMutation) and
  optional width/height on tool.session_start params; schemas regenerated
This commit is contained in:
BB-fat
2026-08-05 11:19:10 +08:00
committed by GitHub
parent d7f0f1e78c
commit 49378d70de
25 changed files with 725 additions and 10 deletions
+4
View File
@@ -44,6 +44,8 @@ pub enum Method {
ToolSessionStart,
#[serde(rename = "tool.session_stop")]
ToolSessionStop,
#[serde(rename = "tool.window_resize")]
ToolWindowResize,
#[serde(rename = "tool.tab_list")]
ToolTabList,
#[serde(rename = "tool.tab_create")]
@@ -140,6 +142,7 @@ impl Method {
| Method::ToolTabBorrow
| Method::ToolTabReturn
| Method::ToolTabSelect
| Method::ToolWindowResize
| Method::ToolNavigate
| Method::ToolNavigateBack
| Method::ToolNavigateForward
@@ -272,6 +275,7 @@ mod tests {
assert!(Method::ToolSelect.is_mutating());
assert!(Method::ToolEvaluate.is_mutating());
assert!(Method::ToolRecordStart.is_mutating());
assert!(Method::ToolWindowResize.is_mutating());
}
#[test]