fix(acp): enable terminal client capability by default (#3910)

* fix(acp): enable terminal client capability by default (#3812)

* test(acp): remove non-asserting Kimi coverage

---------

Co-authored-by: paseo-bot[bot] <266920839+paseo-bot[bot]@users.noreply.github.com>
This commit is contained in:
PM
2026-08-27 08:10:25 +00:00
committed by GitHub
co-authored by paseo-bot[bot]
parent 2755596b9f
commit b0ce40804d
3 changed files with 19 additions and 17 deletions
+14 -12
View File
@@ -501,25 +501,25 @@ Paseo tools such as subagent creation come from the shared internal tool catalog
}
```
ACP agents execute filesystem and terminal operations in their own environment
by default. To let a compliant agent delegate those operations to Paseo instead,
enable the corresponding client capabilities:
ACP agents execute filesystem operations in their own environment by default,
while terminal operations run through Paseo on the host. To customize which
operations Paseo handles, configure client capabilities in provider params:
```json
{
"agents": {
"providers": {
"local-agent": {
"container-agent": {
"extends": "acp",
"label": "Local Agent",
"command": ["local-agent", "acp"],
"label": "Container Agent",
"command": ["container-agent", "acp"],
"params": {
"clientCapabilities": {
"fs": {
"readTextFile": true,
"writeTextFile": true
"readTextFile": false,
"writeTextFile": false
},
"terminal": true
"terminal": false
}
}
}
@@ -528,9 +528,11 @@ enable the corresponding client capabilities:
}
```
Only enable capabilities Paseo should execute. When the agent and Paseo run in
different environments, configure equivalent absolute workspace paths before
delegating filesystem or terminal operations to Paseo.
When an agent runs in a container or remote environment that manages its own
terminal, set `terminal: false` to keep command execution inside the agent
container. When delegating filesystem operations to Paseo (`fs.readTextFile: true`
or `fs.writeTextFile: true`), ensure the agent and Paseo share equivalent
absolute workspace paths.
### Generic ACP diagnostics
@@ -52,13 +52,13 @@ import { asInternals } from "../../test-utils/class-mocks.js";
import * as spawnUtils from "../../../utils/spawn.js";
describe("buildACPClientCapabilities", () => {
test("keeps filesystem and terminal execution with the agent by default", () => {
test("enables terminal execution on the host while keeping filesystem operations with the agent by default", () => {
expect(buildACPClientCapabilities()).toEqual({
fs: {
readTextFile: false,
writeTextFile: false,
},
terminal: false,
terminal: true,
});
});
@@ -70,7 +70,7 @@ describe("buildACPClientCapabilities", () => {
fs: {
readTextFile: true,
},
terminal: true,
terminal: false,
},
),
).toEqual({
@@ -78,7 +78,7 @@ describe("buildACPClientCapabilities", () => {
readTextFile: true,
writeTextFile: false,
},
terminal: true,
terminal: false,
_meta: { source: "provider" },
});
});
@@ -248,7 +248,7 @@ const BASE_ACP_CLIENT_CAPABILITIES: ACPClientCapabilities = {
readTextFile: false,
writeTextFile: false,
},
terminal: false,
terminal: true,
};
export type ACPClientCapabilityMeta = Record<string, unknown>;