Skip to content

feat: add agent_sdk package with generic AgentClient interface#74

Merged
Norbert515 merged 1 commit intomainfrom
feat/agent-sdk
Feb 19, 2026
Merged

feat: add agent_sdk package with generic AgentClient interface#74
Norbert515 merged 1 commit intomainfrom
feat/agent-sdk

Conversation

@Norbert515
Copy link
Owner

Summary

  • Creates packages/agent_sdk/ — a provider-agnostic abstraction layer for AI coding agents with its own data model
  • Adds ClaudeAgentClient bridge in claude_sdk that maps between Claude-specific and generic types
  • Enables future migration of vide_core from ClaudeClient to AgentClient, decoupling it from any specific AI provider

What's in agent_sdk

  • AgentClient interface — streams (conversation, status, init data), getters, actions (sendMessage, abort, close, etc.)
  • Capability interfacesModelConfigurable, ThinkingConfigurable, PermissionModeConfigurable, Interruptible, FileRewindable, McpConfigurable — consumers check via is casts
  • AgentResponse sealed hierarchy — text, tool use, tool result, completion, error, API error, context compacted, user message, unknown
  • AgentConversation + AgentConversationMessage — conversation state, token accumulators, tool invocation pairing
  • AgentMessage + AgentAttachment — input model
  • AgentProcessingStatus, AgentInitData, TokenUsage

Claude bridge

  • ClaudeAgentClient wraps ClaudeClient and implements AgentClient + all capability interfaces
  • Type mappers — exhaustive switch-based mapping between claude_sdk types and agent_sdk types

What's NOT in this PR

  • vide_core migration from ClaudeClientAgentClient (follow-up)
  • Codex bridge (CodexAgentClient) (follow-up after codex_sdk lands)

Verification

  • dart analyze — 0 issues
  • dart test — 330/330 passing
  • dart format — all files formatted

@Norbert515 Norbert515 changed the base branch from explore/codex-cli-integration to main February 19, 2026 18:40
…aude bridge

Create a provider-agnostic abstraction layer for AI coding agents. The agent_sdk
package defines AgentClient, a sealed AgentResponse hierarchy, conversation/message
models, and capability interfaces (ModelConfigurable, Interruptible, etc.).

ClaudeAgentClient in claude_sdk bridges ClaudeClient into the generic interface
with exhaustive type mappers. This enables vide_core to depend on agent_sdk
instead of claude_sdk directly (follow-up PR).
@Norbert515 Norbert515 merged commit b4f68ed into main Feb 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments