Support for Goose agent#48
Conversation
beyond5959
left a comment
There was a problem hiding this comment.
Thanks for adding Goose support. The adapter follows the existing ACP CLI pattern nicely, but I’d like one security/protocol-boundary change before this lands.
internal/agents/goose/goose.go currently initializes Goose with only clientInfo and protocolVersion. For a new third-party ACP provider, we should explicitly advertise fail-closed client capabilities, consistent with the existing ACP stdio providers and the repo spec:
"clientCapabilities": map[string]any{
"fs": map[string]any{
"readTextFile": false,
"writeTextFile": false,
},
"terminal": false,
},The current transport will return method-not-found for unsupported inbound requests, so I don’t think this is an immediate file-read/write authorization bug. Still, making the capability boundary explicit avoids Goose or a future ACP implementation inferring capabilities we do not intend to provide.
Please also add a small fake-process test that asserts the initialize params include those disabled capabilities. After that, this should be in good shape.
goose is currently my agent of choice, so I added support for it.