Liu Guanzhong
|
4594c776e1
|
feat(agent): add CodeBuddy as first-class CLI backend (#3186)
* feat(agent): add codebuddyBackend struct and buildCodebuddyArgs
Introduces the codebuddy agent backend skeleton with args builder
that mirrors claudeBackend's protocol flags (stream-json, bypass
permissions, blocked args filtering) for the codebuddy CLI fork.
* feat(agent): implement codebuddyBackend.Execute with stream-json parsing
* feat(agent): wire codebuddy into New() factory and launchHeaders
* feat(agent): add codebuddy dynamic model discovery from --help
* feat(agent): add codebuddy thinking/effort discovery and providerThinkingEnums
* feat(daemon): add codebuddy CLI probe, env vars, and args support
* fix(agent): use len(models)==0 for default model instead of loop index
* fix(agent): increase codebuddy --help timeout to 35s for slow CLI startup
* fix(agent): address codebuddy PR review feedback
- Wire codebuddy into execenv: reuse claude's CLAUDE.md, .claude/skills,
and ~/.claude/skills paths since CodeBuddy is a Claude Code fork
- Replace hardcoded 20-min timeout with runContext for zero-timeout =
no-deadline semantics matching all other backends
- Restore runContext regression tests lost in rebase merge
- Mirror claude.go execution model: concurrent stdin write to prevent
pipe deadlock, sync.Once for stdin closure, keep stdin open for
control_request auto-approval mid-run
- Add control_request handling with auto-approve behavior
- Add RequestID/Request fields to codebuddySDKMessage
- Add codebuddy to metrics knownRuntimeProviders
- Add codebuddy to provider-logo.tsx (reuses ClaudeLogo)
- Consolidate --help discovery: shared codebuddyHelpOutput cache
eliminates duplicate cold-start invocations
---------
Co-authored-by: krislliu <krislliu@tencent.com>
|
2026-06-12 15:22:16 +08:00 |
|