# v1.3.2 Release Notes

> v1.3.1 -> v1.3.2

## Summary

Shrinks the tool surface around live data and privileges: the agent now calls public APIs directly and escalates through one password-gated command path instead of dedicated tools. Background work is reshaped into two purpose-built tools that always watch their output.

<details>
<summary>翻譯</summary>

收斂即時資料與權限相關的工具：agent 改為直接呼叫公開 API，提權統一走單一條需要密碼確認的指令路徑，不再依賴專用工具。背景工作重整為兩個專用工具，且一律監看輸出。

</details>

## Changes

### FEAT

- Add built-in `public_api_list` and route live-data requests to read and call a fitting keyless public API directly, building a script tool only when none fits or a user-supplied API needs a key (@pardnchiu) [74769ee2, afa20d8e]
- Support `sudo` argv in `run_command` / `background_command`, run as `sudo -n` outside the sandbox after a system-password confirmation, and prompt for the password before a TUI `!` shell command that uses `sudo` (@pardnchiu) [26ba4369]
- Add `background_subagents` for long subagent legs, writing each leg's progress to the session background log and never prompting from a background leg (@pardnchiu) [f8e9c4f8]
- Watch every `background_command` for error keywords, resuming the task with the latest output while the command runs; a decision model, when set, drops benign hits and repeats (@pardnchiu) [b92cb8bc, f8e9c4f8]

<details>
<summary>翻譯</summary>

- 新增內建 `public_api_list`，即時資料請求改為讀文件後直接呼叫合適的免金鑰公開 API，只有找不到合適的 API 或使用者提供的 API 需要金鑰時才建立 script tool
- `run_command`／`background_command` 支援 `sudo` argv，經系統密碼確認後以 `sudo -n` 在沙箱外執行；TUI 的 `!` shell 指令使用 `sudo` 時會先跳出密碼框
- 新增 `background_subagents` 處理耗時的 subagent，每個 leg 的進度寫入 session 背景 log，背景 leg 不會跳出確認
- 所有 `background_command` 都會監看錯誤關鍵字，指令執行中即帶最新輸出接續任務；設定 decision model 時會先濾掉誤判與重複回報

</details>

### UPDATE

- Enable decision routing whenever a decision model is selected (@pardnchiu) [040067da]
- Offer `background_command` and `background_subagents` to TUI requests regardless of the decision model (@pardnchiu) [b92cb8bc, f8e9c4f8]
- Return a hint to re-run with `sandbox: false` when the sandbox blocks a command with no path to grant, and tell the agent in both permission modes to escalate and continue instead of stopping to ask (@pardnchiu) [afa20d8e]
- Include the live log path in the `background_command` start result so progress questions read the log instead of guessing (@pardnchiu) [afa20d8e]
- Move the restricted-path approval notice from the TUI to the debug log (@pardnchiu) [26ba4369]
- Clear background log directories together with background tasks (@pardnchiu) [f8e9c4f8]
- Update bundled skills to install dependencies through `run_command` and drop API tool references (@pardnchiu) [74769ee2, afa20d8e]

<details>
<summary>翻譯</summary>

- 只要選了 decision model 就啟用 decision 分派
- `background_command` 與 `background_subagents` 對 TUI 請求開放，不再依賴 decision model
- 沙箱擋下指令且找不到可放行的路徑時，回傳改用 `sandbox: false` 重跑的提示；兩種權限模式都要求 agent 直接提權並繼續，不停下來詢問
- `background_command` 啟動結果附上即時 log 路徑，詢問進度時讀 log 而非推測
- 受限路徑核准通知從 TUI 改寫進 debug log
- 清除背景任務時一併清除背景 log 目錄
- 內建 skill 改以 `run_command` 安裝依賴，並移除 API tool 相關描述

</details>

### REMOVE

- Remove the user-defined API tool adapter and its directories (@pardnchiu) [74769ee2]
- Remove `pkg_manage` (@pardnchiu) [afa20d8e]
- Remove the `dispatcher_beta` toggle (@pardnchiu) [040067da]

<details>
<summary>翻譯</summary>

- 移除使用者自訂 API tool 的 adapter 與相關目錄
- 移除 `pkg_manage`
- 移除 `dispatcher_beta` 開關

</details>

## Scope

- `internal/runtime/toolAdapter/api/`, `extensions/apis/`, `extensions/extensions.go` — REMOVE
- `internal/tools/external/` — FEAT (`publicAPIList.go`, `toolAdapter.go`)
- `internal/tools/` — FEAT, UPDATE, REMOVE (`runCommand.go`, `runCommandBackground.go`, `watchOutput.go`, `legacyAPITool.go`)
- `internal/tools/subagent/`, `internal/agents/exec/subagent/` — FEAT, UPDATE
- `internal/tools/interactive/` — UPDATE, REMOVE (`pkgManage.go`, `background.go`, `backgroundStart.go`)
- `internal/tools/file/variant/`, `internal/tools/searcher/`, `internal/tools/history/action/` — UPDATE
- `internal/agents/exec/` — UPDATE (multiple files)
- `internal/runtime/mcp/` — UPDATE
- `internal/runtime/tui/` — FEAT, UPDATE
- `internal/session/config/`, `internal/runtime/routes/handler/`, `page/` — REMOVE
- `internal/filesystem/`, `internal/utils/` — UPDATE
- `configs/` — UPDATE
- `extensions/skills/` — UPDATE
- `doc/` — DOC
- `package-lock.json` — CHORE

---

Generated by [SKILL](https://github.com/pardnchiu/skill-version-generate)
