chore: consolidate new foundation and archive v1 (#1495)
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# MACP OpenClaw Plugin
|
||||
|
||||
This plugin registers a new OpenClaw ACP runtime backend named `macp`.
|
||||
|
||||
When OpenClaw calls `sessions_spawn(runtime: "macp")`, the plugin now writes the prompt to a brief file, queues a MACP controller task in `.mosaic/orchestrator/tasks.json`, triggers `mosaic-orchestrator-run --once`, polls `.mosaic/orchestrator/results/<task-id>.json`, and streams the resulting output back as ACP runtime events.
|
||||
|
||||
## Current behavior
|
||||
|
||||
- Supports ACP `mode: "oneshot"` only
|
||||
- Accepts any `agentId` and maps it to the queued MACP task `runtime`
|
||||
- Defaults queued tasks to `dispatch: "yolo"` and `runtime: "codex"` when no override is provided
|
||||
- Rejects persistent ACP sessions
|
||||
- Keeps `src/pi-bridge.ts` for future `dispatch: "pi"` support
|
||||
|
||||
## Install in OpenClaw
|
||||
|
||||
Add the plugin entry to your OpenClaw config:
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins": ["~/src/mosaic-mono-v1/plugins/macp/src/index.ts"]
|
||||
}
|
||||
```
|
||||
|
||||
## Optional config
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins": [
|
||||
{
|
||||
"source": "~/src/mosaic-mono-v1/plugins/macp/src/index.ts",
|
||||
"config": {
|
||||
"defaultModel": "openai/gpt-5-mini",
|
||||
"systemPrompt": "You are Pi running via MACP.",
|
||||
"timeoutMs": 300000,
|
||||
"logDir": "~/.openclaw/state/macp",
|
||||
"repoRoot": "~/src/mosaic-mono-v1",
|
||||
"orchDir": "~/src/mosaic-mono-v1/.mosaic/orchestrator",
|
||||
"defaultDispatch": "yolo",
|
||||
"defaultRuntime": "codex"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Runtime flow
|
||||
|
||||
1. OpenClaw ensures a oneshot `macp` session and preserves the requested `agentId`.
|
||||
2. `runTurn` writes the turn prompt to `~/.mosaic/macp-oc/<session>-<request>.md`.
|
||||
3. The plugin appends a pending MACP task to the configured orchestrator queue.
|
||||
4. The plugin triggers `~/.config/mosaic/bin/mosaic-orchestrator-run --once` in the configured repo root.
|
||||
5. The plugin polls for `.mosaic/orchestrator/results/<task-id>.json` and streams the result back to OpenClaw.
|
||||
|
||||
## Verification
|
||||
|
||||
```bash
|
||||
pnpm --filter @mosaicstack/oc-macp-plugin typecheck || npx tsc --noEmit -p plugins/macp/tsconfig.json
|
||||
pnpm prettier --write "plugins/macp/**/*.{ts,json,md}"
|
||||
pnpm format:check
|
||||
```
|
||||
Reference in New Issue
Block a user