Two credential problems found while using the library from a consumer project.
Let tests ask whether an agent is usable on this host
Every consumer that wants to skip a suite when an agent has no credentials reimplements the checks from the exported constants. The e2e folder in this repo and an external project both did.
Suggested fix: credentialsAvailable() on the Agent contract, using the same check run makes, plus an availableAgents() helper. With Devin (#2) and Copilot (#4) coming, this keeps consumers from tracking every agent's credential rules themselves.
Size: small.
Cursor on macOS stores its login in the Keychain
runCursorInDocker needs ~/.config/cursor/auth.json. On macOS, agent login writes to the Keychain and creates no file, so Cursor tests skip on every Mac.
Workaround that works today: run agent login inside agent-gwt/cursor-cli:local with ~/.config/cursor bind mounted. The Linux CLI writes the file where the library expects it.
Suggested fix: the CLI accepts CURSOR_API_KEY. Forward it by name the way the Claude binding forwards its token, and document the container login for OAuth users. Also note in the README that either agent can read its own credential from inside the container.
Size: small.
Two credential problems found while using the library from a consumer project.
Let tests ask whether an agent is usable on this host
Every consumer that wants to skip a suite when an agent has no credentials reimplements the checks from the exported constants. The e2e folder in this repo and an external project both did.
Suggested fix:
credentialsAvailable()on theAgentcontract, using the same checkrunmakes, plus anavailableAgents()helper. With Devin (#2) and Copilot (#4) coming, this keeps consumers from tracking every agent's credential rules themselves.Size: small.
Cursor on macOS stores its login in the Keychain
runCursorInDockerneeds~/.config/cursor/auth.json. On macOS,agent loginwrites to the Keychain and creates no file, so Cursor tests skip on every Mac.Workaround that works today: run
agent logininsideagent-gwt/cursor-cli:localwith~/.config/cursorbind mounted. The Linux CLI writes the file where the library expects it.Suggested fix: the CLI accepts
CURSOR_API_KEY. Forward it by name the way the Claude binding forwards its token, and document the container login for OAuth users. Also note in the README that either agent can read its own credential from inside the container.Size: small.