feat: add cli-based LLM provider
Add ClaudeCliProvider that executes the local CLI as a subprocess, enabling PicoClaw to leverage advanced capabilities (MCP tools, workspace awareness, session management) through any messaging channel. - Implement LLMProvider interface via subprocess execution - Support --system-prompt, --model, --output-format json flags - Parse real v2.x JSON response format including usage tokens - Handle error responses, stderr, context cancellation - Register "claude-cli", "claude-code", "claudecode" aliases in CreateProvider - 56 unit tests with mock scripts + 3 integration tests against real binary - 100% coverage on all functions except stripToolCallsJSON (85.7%)
This commit is contained in:
1109
pkg/providers/claude_cli_provider_test.go
Normal file
1109
pkg/providers/claude_cli_provider_test.go
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user