mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
90 lines
1.9 KiB
Markdown
90 lines
1.9 KiB
Markdown
# IPC (Inter-Process Communication)
|
|
|
|
This package provides IPC functionality for Roo Code, allowing external applications to communicate with the extension through a socket-based interface.
|
|
|
|
## Available Commands
|
|
|
|
The IPC interface supports the following task commands:
|
|
|
|
### StartNewTask
|
|
|
|
Starts a new task with optional configuration and initial message.
|
|
|
|
**Parameters:**
|
|
|
|
- `configuration`: RooCode settings object
|
|
- `text`: Initial task message (string)
|
|
- `images`: Array of image data URIs (optional)
|
|
- `newTab`: Whether to open in a new tab (boolean, optional)
|
|
|
|
### CancelTask
|
|
|
|
Cancels a running task.
|
|
|
|
**Parameters:**
|
|
|
|
- `data`: Task ID to cancel (string)
|
|
|
|
### CloseTask
|
|
|
|
Closes a task and performs cleanup.
|
|
|
|
**Parameters:**
|
|
|
|
- `data`: Task ID to close (string)
|
|
|
|
### ResumeTask
|
|
|
|
Resumes a task from history.
|
|
|
|
**Parameters:**
|
|
|
|
- `data`: Task ID to resume (string)
|
|
|
|
**Error Handling:**
|
|
|
|
- If the task ID is not found in history, the command will fail gracefully without crashing the IPC server
|
|
- Errors are logged for debugging purposes but do not propagate to the client
|
|
|
|
## Usage Example
|
|
|
|
```typescript
|
|
import { IpcClient } from "@roo-code/ipc"
|
|
|
|
const client = new IpcClient("/path/to/socket")
|
|
|
|
// Resume a task
|
|
client.sendCommand({
|
|
commandName: "ResumeTask",
|
|
data: "task-123",
|
|
})
|
|
|
|
// Start a new task
|
|
client.sendCommand({
|
|
commandName: "StartNewTask",
|
|
data: {
|
|
configuration: {
|
|
/* RooCode settings */
|
|
},
|
|
text: "Hello, world!",
|
|
images: [],
|
|
newTab: false,
|
|
},
|
|
})
|
|
```
|
|
|
|
## Events
|
|
|
|
The IPC interface also emits task events that clients can listen to:
|
|
|
|
- `TaskStarted`: When a task begins
|
|
- `TaskCompleted`: When a task finishes
|
|
- `TaskAborted`: When a task is cancelled
|
|
- `Message`: When a task sends a message
|
|
|
|
## Socket Path
|
|
|
|
The socket path is typically located in the system's temporary directory and follows the pattern:
|
|
|
|
- Unix/Linux/macOS: `/tmp/roo-code-{id}.sock`
|
|
- Windows: `\\.\pipe\roo-code-{id}`
|