claude-code-acp 0.3.1__tar.gz → 0.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/PKG-INFO +44 -40
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/README.md +43 -39
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/pyproject.toml +1 -1
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/src/claude_code_acp/__init__.py +1 -1
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/.github/workflows/publish.yml +0 -0
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/.gitignore +0 -0
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/LICENSE +0 -0
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/src/claude_code_acp/__main__.py +0 -0
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/src/claude_code_acp/acp_client.py +0 -0
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/src/claude_code_acp/agent.py +0 -0
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/src/claude_code_acp/client.py +0 -0
- {claude_code_acp-0.3.1 → claude_code_acp-0.3.2}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-code-acp
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: ACP-compatible agent for Claude Code (Python version)
|
|
5
5
|
Project-URL: Homepage, https://github.com/yazelin/claude-code-acp-py
|
|
6
6
|
Project-URL: Repository, https://github.com/yazelin/claude-code-acp-py
|
|
@@ -255,48 +255,52 @@ ts_claude = AcpClient(command="npx", args=["@zed-industries/claude-code-acp"])
|
|
|
255
255
|
|
|
256
256
|
## Architecture
|
|
257
257
|
|
|
258
|
+
This package provides **three ways** to use Claude:
|
|
259
|
+
|
|
260
|
+
### Method A: Editor via ACP (ClaudeAcpAgent)
|
|
261
|
+
|
|
262
|
+
For Zed, Neovim, and other ACP-compatible editors:
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
┌──────────┐ ACP Protocol ┌─────────────────┐ SDK ┌────────────┐
|
|
266
|
+
│ Zed │ ────── stdio ───────► │ ClaudeAcpAgent │ ──────────► │ Claude CLI │
|
|
267
|
+
│ Editor │ │ (ACP Server) │ │ │
|
|
268
|
+
└──────────┘ └─────────────────┘ └────────────┘
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Method B: Python Direct (ClaudeClient)
|
|
272
|
+
|
|
273
|
+
For Python apps that want simple, direct access to Claude (**no ACP protocol**):
|
|
274
|
+
|
|
258
275
|
```
|
|
259
|
-
|
|
260
|
-
│
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
│ ACP SERVER (for editors) ACP CLIENT (for Python apps) │
|
|
264
|
-
│ ───────────────────────── ──────────────────────────── │
|
|
265
|
-
│ │
|
|
266
|
-
│ ┌─────────────┐ ┌─────────────┐ │
|
|
267
|
-
│ │ Zed/Neovim │ │ Your Python │ │
|
|
268
|
-
│ │ Editor │ │ App │ │
|
|
269
|
-
│ └──────┬──────┘ └──────┬──────┘ │
|
|
270
|
-
│ │ │ │
|
|
271
|
-
│ │ ACP │ uses │
|
|
272
|
-
│ ▼ ▼ │
|
|
273
|
-
│ ┌──────────────────┐ ┌─────────────────┐ │
|
|
274
|
-
│ │ ClaudeAcpAgent │ │ AcpClient │───┐ │
|
|
275
|
-
│ │ (ACP Server) │ │ (ACP Client) │ │ │
|
|
276
|
-
│ └────────┬─────────┘ └────────┬────────┘ │ │
|
|
277
|
-
│ │ │ │ can connect to │
|
|
278
|
-
│ │ │ ACP │ any ACP agent │
|
|
279
|
-
│ ▼ ▼ │ │
|
|
280
|
-
│ ┌──────────────────┐ ┌─────────────────┐ │ │
|
|
281
|
-
│ │ ClaudeClient │ │ claude-code-acp│◄─┘ │
|
|
282
|
-
│ │ (Python wrapper) │ │ Gemini CLI │ │
|
|
283
|
-
│ └────────┬─────────┘ │ Other agents │ │
|
|
284
|
-
│ │ └─────────────────┘ │
|
|
285
|
-
│ │ │
|
|
286
|
-
│ ▼ │
|
|
287
|
-
│ ┌──────────────────┐ │
|
|
288
|
-
│ │ Claude Agent SDK │ │
|
|
289
|
-
│ └────────┬─────────┘ │
|
|
290
|
-
│ │ │
|
|
291
|
-
│ ▼ │
|
|
292
|
-
│ ┌──────────────────┐ │
|
|
293
|
-
│ │ Claude CLI │ │
|
|
294
|
-
│ │ (Subscription) │ │
|
|
295
|
-
│ └──────────────────┘ │
|
|
296
|
-
│ │
|
|
297
|
-
└──────────────────────────────────────────────────────────────────────────────┘
|
|
276
|
+
┌──────────┐ direct call ┌─────────────────┐ SDK ┌────────────┐
|
|
277
|
+
│ Python │ ──── in-process ───► │ ClaudeClient │ ──────────► │ Claude CLI │
|
|
278
|
+
│ App │ │ │ │ │
|
|
279
|
+
└──────────┘ └─────────────────┘ └────────────┘
|
|
298
280
|
```
|
|
299
281
|
|
|
282
|
+
### Method C: Python via ACP (AcpClient)
|
|
283
|
+
|
|
284
|
+
For Python apps that want to connect to **any** ACP-compatible agent:
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
┌──────────┐ ACP Protocol ┌─────────────────┐
|
|
288
|
+
│ Python │ ────── stdio ───────► │ Any ACP Agent │
|
|
289
|
+
│ App │ │ │
|
|
290
|
+
│ │ │ • claude-code │
|
|
291
|
+
│ AcpClient│ │ • gemini │
|
|
292
|
+
│ │ │ • custom agents │
|
|
293
|
+
└──────────┘ └─────────────────┘
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### Summary
|
|
297
|
+
|
|
298
|
+
| Component | Uses ACP? | Purpose |
|
|
299
|
+
|-----------|-----------|---------|
|
|
300
|
+
| `ClaudeAcpAgent` | Yes (Server) | Let editors connect to Claude |
|
|
301
|
+
| `ClaudeClient` | **No** | Simplest way for Python apps |
|
|
302
|
+
| `AcpClient` | Yes (Client) | Connect to any ACP agent |
|
|
303
|
+
|
|
300
304
|
---
|
|
301
305
|
|
|
302
306
|
## What We Built
|
|
@@ -232,48 +232,52 @@ ts_claude = AcpClient(command="npx", args=["@zed-industries/claude-code-acp"])
|
|
|
232
232
|
|
|
233
233
|
## Architecture
|
|
234
234
|
|
|
235
|
+
This package provides **three ways** to use Claude:
|
|
236
|
+
|
|
237
|
+
### Method A: Editor via ACP (ClaudeAcpAgent)
|
|
238
|
+
|
|
239
|
+
For Zed, Neovim, and other ACP-compatible editors:
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
┌──────────┐ ACP Protocol ┌─────────────────┐ SDK ┌────────────┐
|
|
243
|
+
│ Zed │ ────── stdio ───────► │ ClaudeAcpAgent │ ──────────► │ Claude CLI │
|
|
244
|
+
│ Editor │ │ (ACP Server) │ │ │
|
|
245
|
+
└──────────┘ └─────────────────┘ └────────────┘
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Method B: Python Direct (ClaudeClient)
|
|
249
|
+
|
|
250
|
+
For Python apps that want simple, direct access to Claude (**no ACP protocol**):
|
|
251
|
+
|
|
235
252
|
```
|
|
236
|
-
|
|
237
|
-
│
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
│ ACP SERVER (for editors) ACP CLIENT (for Python apps) │
|
|
241
|
-
│ ───────────────────────── ──────────────────────────── │
|
|
242
|
-
│ │
|
|
243
|
-
│ ┌─────────────┐ ┌─────────────┐ │
|
|
244
|
-
│ │ Zed/Neovim │ │ Your Python │ │
|
|
245
|
-
│ │ Editor │ │ App │ │
|
|
246
|
-
│ └──────┬──────┘ └──────┬──────┘ │
|
|
247
|
-
│ │ │ │
|
|
248
|
-
│ │ ACP │ uses │
|
|
249
|
-
│ ▼ ▼ │
|
|
250
|
-
│ ┌──────────────────┐ ┌─────────────────┐ │
|
|
251
|
-
│ │ ClaudeAcpAgent │ │ AcpClient │───┐ │
|
|
252
|
-
│ │ (ACP Server) │ │ (ACP Client) │ │ │
|
|
253
|
-
│ └────────┬─────────┘ └────────┬────────┘ │ │
|
|
254
|
-
│ │ │ │ can connect to │
|
|
255
|
-
│ │ │ ACP │ any ACP agent │
|
|
256
|
-
│ ▼ ▼ │ │
|
|
257
|
-
│ ┌──────────────────┐ ┌─────────────────┐ │ │
|
|
258
|
-
│ │ ClaudeClient │ │ claude-code-acp│◄─┘ │
|
|
259
|
-
│ │ (Python wrapper) │ │ Gemini CLI │ │
|
|
260
|
-
│ └────────┬─────────┘ │ Other agents │ │
|
|
261
|
-
│ │ └─────────────────┘ │
|
|
262
|
-
│ │ │
|
|
263
|
-
│ ▼ │
|
|
264
|
-
│ ┌──────────────────┐ │
|
|
265
|
-
│ │ Claude Agent SDK │ │
|
|
266
|
-
│ └────────┬─────────┘ │
|
|
267
|
-
│ │ │
|
|
268
|
-
│ ▼ │
|
|
269
|
-
│ ┌──────────────────┐ │
|
|
270
|
-
│ │ Claude CLI │ │
|
|
271
|
-
│ │ (Subscription) │ │
|
|
272
|
-
│ └──────────────────┘ │
|
|
273
|
-
│ │
|
|
274
|
-
└──────────────────────────────────────────────────────────────────────────────┘
|
|
253
|
+
┌──────────┐ direct call ┌─────────────────┐ SDK ┌────────────┐
|
|
254
|
+
│ Python │ ──── in-process ───► │ ClaudeClient │ ──────────► │ Claude CLI │
|
|
255
|
+
│ App │ │ │ │ │
|
|
256
|
+
└──────────┘ └─────────────────┘ └────────────┘
|
|
275
257
|
```
|
|
276
258
|
|
|
259
|
+
### Method C: Python via ACP (AcpClient)
|
|
260
|
+
|
|
261
|
+
For Python apps that want to connect to **any** ACP-compatible agent:
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
┌──────────┐ ACP Protocol ┌─────────────────┐
|
|
265
|
+
│ Python │ ────── stdio ───────► │ Any ACP Agent │
|
|
266
|
+
│ App │ │ │
|
|
267
|
+
│ │ │ • claude-code │
|
|
268
|
+
│ AcpClient│ │ • gemini │
|
|
269
|
+
│ │ │ • custom agents │
|
|
270
|
+
└──────────┘ └─────────────────┘
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Summary
|
|
274
|
+
|
|
275
|
+
| Component | Uses ACP? | Purpose |
|
|
276
|
+
|-----------|-----------|---------|
|
|
277
|
+
| `ClaudeAcpAgent` | Yes (Server) | Let editors connect to Claude |
|
|
278
|
+
| `ClaudeClient` | **No** | Simplest way for Python apps |
|
|
279
|
+
| `AcpClient` | Yes (Client) | Connect to any ACP agent |
|
|
280
|
+
|
|
277
281
|
---
|
|
278
282
|
|
|
279
283
|
## What We Built
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|