Problem
agent-adaptor currently has built-in bindings for Codex, Claude, and Cursor, but it does not expose a first-class CodeBuddy CLI binding. Hosts that want to run CodeBuddy through the SDK need the same Run / Start semantics, session behavior, output contract, and optional injection points already provided by the existing adapters.
Scope
Add support for CodeBuddy CLI as a localized adapter/binding without changing the core SDK execution model.
The implementation should:
- Add a public
codebuddy.New(cfg, opts...) binding constructor and codebuddy.NewAdapter() low-level adapter constructor.
- Define a CodeBuddy-specific config type that keeps provider details isolated from core SDK APIs.
- Research and document the supported CodeBuddy CLI command shape, authentication/profile expectations, structured output mode, and resume/session behavior before implementation.
- Parse CodeBuddy's official CLI/protocol output in the adapter, not in shared helpers.
- Preserve the existing output contract:
Output, RawStreams, Transcript, Summary, and provider-specific terminal Result must remain separated.
- Preserve the single execution flow: SDK defaults/overrides resolution, session coordination, adapter execution, checkpoint persistence, and result archival.
- Add adapter conformance coverage comparable to the existing built-in adapters.
- Update user-facing documentation and examples so hosts can bind CodeBuddy as the default agent or a named agent.
Acceptance Criteria
codebuddy.New(...) can be used with agentadaptor.WithDefaultAgent(...).
sdk.Run(...) and sdk.Start(...).Wait(...) return equivalent structured results for CodeBuddy runs.
- Session behavior is explicit and tested for stateless, start-new, continue, and failure cases supported by the CLI.
- Raw stdout/stderr are preserved without being mixed into assistant-facing
Output.
- Transcript entries are produced by CodeBuddy adapter protocol parsing rather than generic JSON guessing.
- Environment/profile/model/admin capabilities are either implemented or explicitly reported as unsupported through existing SDK contracts.
- Documentation includes dependency selection notes if any new runtime dependency is introduced.
Notes
codebuddy is not currently available on the local PATH in the development environment used to create this issue, so the first implementation step should verify the current official CLI behavior and avoid hardcoding assumptions from stale examples.
Problem
agent-adaptorcurrently has built-in bindings for Codex, Claude, and Cursor, but it does not expose a first-class CodeBuddy CLI binding. Hosts that want to run CodeBuddy through the SDK need the sameRun/Startsemantics, session behavior, output contract, and optional injection points already provided by the existing adapters.Scope
Add support for CodeBuddy CLI as a localized adapter/binding without changing the core SDK execution model.
The implementation should:
codebuddy.New(cfg, opts...)binding constructor andcodebuddy.NewAdapter()low-level adapter constructor.Output,RawStreams,Transcript,Summary, and provider-specific terminalResultmust remain separated.Acceptance Criteria
codebuddy.New(...)can be used withagentadaptor.WithDefaultAgent(...).sdk.Run(...)andsdk.Start(...).Wait(...)return equivalent structured results for CodeBuddy runs.Output.Notes
codebuddyis not currently available on the local PATH in the development environment used to create this issue, so the first implementation step should verify the current official CLI behavior and avoid hardcoding assumptions from stale examples.