mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-28 04:03:05 +00:00
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:
+14
-12
@@ -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>;
|
||||
|
||||
Reference in New Issue
Block a user