Skip to content

Commit f0bd425

Browse files
committed
feat(providers): add generic ACP provider with hermes runtime
Introduces a runtime-agnostic Agent Client Protocol (ACP) provider via `createAcpProvider(config)`. Registering a new ACP-compliant agent is a one-row config entry in registry.ts; hermes is the first runtime to use it. Existing claude/codex/gemini/copilot providers are left untouched pending ACP protocol stabilization. Also promotes `AgentProvider.getHistory` from optional to required so every provider commits to a uniform contract. Gemini returns `[]` (no exposed session store); ACP implements real history via `session/load`.
1 parent 045c99c commit f0bd425

10 files changed

Lines changed: 1341 additions & 5 deletions

File tree

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
},
4343
"dependencies": {
4444
"@agent-kanban/shared": "workspace:*",
45+
"@agentclientprotocol/sdk": "^0.19.0",
4546
"@anthropic-ai/claude-agent-sdk": "^0.2.96",
4647
"@assistant-ui/react": "^0.12.24",
4748
"@openai/codex-sdk": "^0.118.0",

packages/cli/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"lint": "tsc --noEmit"
1919
},
2020
"dependencies": {
21+
"@agentclientprotocol/sdk": "^0.19.0",
2122
"@anthropic-ai/claude-agent-sdk": "^0.2.96",
2223
"@auth/agent": "^0.3.0",
2324
"@github/copilot-sdk": "^0.2.2",

packages/cli/src/daemon/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const logger = createLogger("daemon");
2424
async function fetchSessionHistory(sessionId: string): Promise<HistoryEvent[]> {
2525
const session = getSessionManager().read(sessionId);
2626
const provider = session ? getProvider(session.runtime) : getProvider("claude");
27-
return provider.getHistory?.(sessionId, session?.providerResumeToken) ?? [];
27+
return provider.getHistory(sessionId, session?.providerResumeToken);
2828
}
2929

3030
export interface DaemonOptions {

0 commit comments

Comments
 (0)