Merge spike/claude-code-integration: PTY-based Claude Code with multi-agent support

Spike proved: spawning claude -p in a PTY from Rust gets Max subscription
billing. Multi-agent concurrency confirmed with session resumption.
Includes AgentPool REST API, claude-code provider, and spike documentation.

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

# Conflicts:
#	.ignore
This commit is contained in:
Dave
2026-02-19 15:30:56 +00:00
18 changed files with 1188 additions and 15 deletions

View File

@@ -444,7 +444,8 @@ export function Chat({ projectPath, onCloseProject }: ChatProps) {
const messageToSend = messageOverride ?? input;
if (!messageToSend.trim() || loading) return;
if (model.startsWith("claude-")) {
const isClaudeCode = model === "claude-code-pty";
if (!isClaudeCode && model.startsWith("claude-")) {
const hasKey = await api.getAnthropicApiKeyExists();
if (!hasKey) {
pendingMessageRef.current = messageToSend;
@@ -464,8 +465,13 @@ export function Chat({ projectPath, onCloseProject }: ChatProps) {
setStreamingContent("");
try {
const provider = isClaudeCode
? "claude-code"
: model.startsWith("claude-")
? "anthropic"
: "ollama";
const config: ProviderConfig = {
provider: model.startsWith("claude-") ? "anthropic" : "ollama",
provider,
model,
base_url: "http://localhost:11434",
enable_tools: enableTools,