mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-06-09 19:45:17 +02:00
Own the Agent Client Protocol client instead of shelling out to `acpx`, so code
mode can stream structured events (tool calls, diffs, plan) and surface live
permission requests. Headless acpx can't do live approvals (it only supports
--approve-all), which is why we drive the agent adapters ourselves.
- code-mode/acp/{agents,client,permission-broker,session-store,manager,types}.ts:
headless engine driving the Claude/Codex ACP adapters; one warm session per chat
with create-or-resume via session/load; approval policy (ask | auto-approve-reads
| yolo) in the broker.
- claude-exec.ts: cross-platform claude resolver (Windows .cmd EINVAL fix + macOS/Linux
GUI-PATH safety net) shared with the legacy acpx path in builtin-tools.ts.
- add @agentclientprotocol/sdk + claude/codex adapters to core.
59 lines
1.7 KiB
JSON
59 lines
1.7 KiB
JSON
{
|
|
"name": "@x/core",
|
|
"private": true,
|
|
"type": "module",
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"scripts": {
|
|
"build": "rm -rf dist && tsc -p tsconfig.build.json",
|
|
"dev": "tsc -w -p tsconfig.build.json",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"dependencies": {
|
|
"@agentclientprotocol/claude-agent-acp": "^0.39.0",
|
|
"@agentclientprotocol/codex-acp": "^0.0.44",
|
|
"@agentclientprotocol/sdk": "^0.22.1",
|
|
"@ai-sdk/anthropic": "^2.0.63",
|
|
"@ai-sdk/google": "^2.0.53",
|
|
"@ai-sdk/openai": "^2.0.91",
|
|
"@ai-sdk/openai-compatible": "^1.0.33",
|
|
"@ai-sdk/provider": "^2.0.1",
|
|
"@composio/core": "^0.6.0",
|
|
"@google-cloud/local-auth": "^3.0.1",
|
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
"@openrouter/ai-sdk-provider": "^1.2.6",
|
|
"@react-pdf/renderer": "^4.3.2",
|
|
"@types/react": "^19.2.7",
|
|
"@x/shared": "workspace:*",
|
|
"ai": "^5.0.133",
|
|
"awilix": "^12.0.5",
|
|
"chokidar": "^4.0.3",
|
|
"cors": "^2.8.6",
|
|
"cron-parser": "^5.5.0",
|
|
"express": "^5.2.1",
|
|
"glob": "^13.0.0",
|
|
"google-auth-library": "^10.5.0",
|
|
"googleapis": "^169.0.0",
|
|
"isomorphic-git": "^1.29.0",
|
|
"mammoth": "^1.11.0",
|
|
"node-html-markdown": "^2.0.0",
|
|
"ollama-ai-provider-v2": "^1.5.4",
|
|
"openid-client": "^6.8.1",
|
|
"papaparse": "^5.5.3",
|
|
"pdf-parse": "^2.4.5",
|
|
"posthog-node": "^4.18.0",
|
|
"react": "^19.2.3",
|
|
"xlsx": "^0.18.5",
|
|
"yaml": "^2.8.2",
|
|
"zod": "^4.2.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/cors": "^2.8.19",
|
|
"@types/express": "^5.0.6",
|
|
"@types/node": "^25.0.3",
|
|
"@types/papaparse": "^5.5.2",
|
|
"@types/pdf-parse": "^1.1.5",
|
|
"vitest": "catalog:"
|
|
}
|
|
}
|