mirror of
https://github.com/harivansh-afk/clanker-agent.git
synced 2026-04-15 09:01:13 +00:00
refactor: finish companion rename migration
Complete the remaining pi-to-companion rename across companion-os, web, vm-orchestrator, docker, and archived fixtures. Verification: - semantic rg sweeps for Pi/piConfig/getPi/.pi runtime references - npm run check in apps/companion-os (fails in this worktree: biome not found) Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
parent
e8fe3d54af
commit
536241053c
303 changed files with 3603 additions and 3602 deletions
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
RPC mode enables headless operation of the coding agent via a JSON protocol over stdin/stdout. This is useful for embedding the agent in other applications, IDEs, or custom UIs.
|
||||
|
||||
**Note for Node.js/TypeScript users**: If you're building a Node.js application, consider using `AgentSession` directly from `@mariozechner/pi-coding-agent` instead of spawning a subprocess. See [`src/core/agent-session.ts`](../src/core/agent-session.ts) for the API. For a subprocess-based TypeScript client, see [`src/modes/rpc/rpc-client.ts`](../src/modes/rpc/rpc-client.ts).
|
||||
**Note for Node.js/TypeScript users**: If you're building a Node.js application, consider using `AgentSession` directly from `@mariozechner/companion-coding-agent` instead of spawning a subprocess. See [`src/core/agent-session.ts`](../src/core/agent-session.ts) for the API. For a subprocess-based TypeScript client, see [`src/modes/rpc/rpc-client.ts`](../src/modes/rpc/rpc-client.ts).
|
||||
|
||||
## Starting RPC Mode
|
||||
|
||||
```bash
|
||||
pi --mode rpc [options]
|
||||
companion --mode rpc [options]
|
||||
```
|
||||
|
||||
Common options:
|
||||
|
|
@ -60,7 +60,7 @@ With images:
|
|||
|
||||
If the agent is streaming and no `streamingBehavior` is specified, the command returns an error.
|
||||
|
||||
**Extension commands**: If the message is an extension command (e.g., `/mycommand`), it executes immediately even during streaming. Extension commands manage their own LLM interaction via `pi.sendMessage()`.
|
||||
**Extension commands**: If the message is an extension command (e.g., `/mycommand`), it executes immediately even during streaming. Extension commands manage their own LLM interaction via `companion.sendMessage()`.
|
||||
|
||||
**Input expansion**: Skill commands (`/skill:name`) and prompt templates (`/template`) are expanded before sending/queueing.
|
||||
|
||||
|
|
@ -503,7 +503,7 @@ If output was truncated, includes `fullOutputPath`:
|
|||
"exitCode": 0,
|
||||
"cancelled": false,
|
||||
"truncated": true,
|
||||
"fullOutputPath": "/tmp/pi-bash-abc123.log"
|
||||
"fullOutputPath": "/tmp/companion-bash-abc123.log"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
@ -752,21 +752,21 @@ Response:
|
|||
"name": "session-name",
|
||||
"description": "Set or clear session name",
|
||||
"source": "extension",
|
||||
"path": "/home/user/.pi/agent/extensions/session.ts"
|
||||
"path": "/home/user/.companion/agent/extensions/session.ts"
|
||||
},
|
||||
{
|
||||
"name": "fix-tests",
|
||||
"description": "Fix failing tests",
|
||||
"source": "prompt",
|
||||
"location": "project",
|
||||
"path": "/home/user/myproject/.pi/agent/prompts/fix-tests.md"
|
||||
"path": "/home/user/myproject/.companion/agent/prompts/fix-tests.md"
|
||||
},
|
||||
{
|
||||
"name": "skill:brave-search",
|
||||
"description": "Web search via Brave API",
|
||||
"source": "skill",
|
||||
"location": "user",
|
||||
"path": "/home/user/.pi/agent/skills/brave-search/SKILL.md"
|
||||
"path": "/home/user/.companion/agent/skills/brave-search/SKILL.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -778,12 +778,12 @@ Each command has:
|
|||
- `name`: Command name (invoke with `/name`)
|
||||
- `description`: Human-readable description (optional for extension commands)
|
||||
- `source`: What kind of command:
|
||||
- `"extension"`: Registered via `pi.registerCommand()` in an extension
|
||||
- `"extension"`: Registered via `companion.registerCommand()` in an extension
|
||||
- `"prompt"`: Loaded from a prompt template `.md` file
|
||||
- `"skill"`: Loaded from a skill directory (name is prefixed with `skill:`)
|
||||
- `location`: Where it was loaded from (optional, not present for extensions):
|
||||
- `"user"`: User-level (`~/.pi/agent/`)
|
||||
- `"project"`: Project-level (`./.pi/agent/`)
|
||||
- `"user"`: User-level (`~/.companion/agent/`)
|
||||
- `"project"`: Project-level (`./.companion/agent/`)
|
||||
- `"path"`: Explicit path via CLI or settings
|
||||
- `path`: Absolute file path to the command source (optional)
|
||||
|
||||
|
|
@ -1173,7 +1173,7 @@ Set the terminal window/tab title. Fire-and-forget.
|
|||
"type": "extension_ui_request",
|
||||
"id": "uuid-8",
|
||||
"method": "setTitle",
|
||||
"title": "pi - my project"
|
||||
"title": "companion - my project"
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -1372,7 +1372,7 @@ import subprocess
|
|||
import json
|
||||
|
||||
proc = subprocess.Popen(
|
||||
["pi", "--mode", "rpc", "--no-session"],
|
||||
["companion", "--mode", "rpc", "--no-session"],
|
||||
stdin=subprocess.PIPE,
|
||||
stdout=subprocess.PIPE,
|
||||
text=True
|
||||
|
|
@ -1411,7 +1411,7 @@ For a complete example of handling the extension UI protocol, see [`examples/rpc
|
|||
const { spawn } = require("child_process");
|
||||
const readline = require("readline");
|
||||
|
||||
const agent = spawn("pi", ["--mode", "rpc", "--no-session"]);
|
||||
const agent = spawn("companion", ["--mode", "rpc", "--no-session"]);
|
||||
|
||||
readline.createInterface({ input: agent.stdout }).on("line", (line) => {
|
||||
const event = JSON.parse(line);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue