feat: integrate Claude Code SDK to replace process spawning (#327)

* feat: integrate Claude Code SDK to replace process spawning

- Add @anthropic-ai/claude-code dependency to base-action
- Replace mkfifo/cat process spawning with direct SDK usage
- Remove global Claude Code installation from action.yml files
- Maintain full compatibility with existing options
- Add comprehensive tests for SDK integration

This change makes the implementation cleaner and more reliable by
eliminating the complexity of managing child processes and named pipes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: add debugging and bun executable for Claude Code SDK

- Add stderr handler to capture CLI errors
- Explicitly set bun as the executable for the SDK
- This should help diagnose why the CLI is exiting with code 1

* fix: extract mcpServers from parsed MCP config

The SDK expects just the servers object, not the wrapper object with mcpServers property.

* tsc

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Ashwin Bhat
2025-07-22 16:56:54 -07:00
committed by GitHub
parent ef304464bb
commit 204266ca45
8 changed files with 394 additions and 486 deletions

View File

@@ -192,9 +192,6 @@ runs:
if: steps.prepare.outputs.contains_trigger == 'true'
shell: bash
run: |
# Install Claude Code globally
bun install -g @anthropic-ai/claude-code@1.0.57
# Run the base-action
cd ${GITHUB_ACTION_PATH}/base-action
bun install