Implement Agent Client Protocol (ACP) integration so users can use their existing Claude Code, Codex, or Gemini CLI subscriptions directly in OpenPencil's AI chat instead of managing separate API keys. - Add ACPAgentDef/ACPAgentID types and ACP_AGENTS registry to core constants - Create ACPChatTransport implementing Vercel AI SDK ChatTransport over ACP - Spawn agent as subprocess via tauri-plugin-shell, communicate over stdio - Map ACP session/update notifications to UIMessageChunk stream - Update provider selector to show ACP agents alongside API-key providers - Hide API key fields for ACP providers in setup/settings UI - Add tauri-plugin-shell dependency and capability permissions - ACP agents only appear in Tauri desktop builds (subprocess required)
27 lines
597 B
JSON
27 lines
597 B
JSON
{
|
|
"$schema": "../gen/schemas/desktop-schema.json",
|
|
"identifier": "default",
|
|
"description": "Capability for the main window",
|
|
"windows": ["main"],
|
|
"permissions": [
|
|
"core:default",
|
|
"opener:default",
|
|
"dialog:default",
|
|
"dialog:allow-save",
|
|
"dialog:allow-open",
|
|
{
|
|
"identifier": "fs:allow-read-file",
|
|
"allow": [{ "path": "**" }]
|
|
},
|
|
{
|
|
"identifier": "fs:allow-write-file",
|
|
"allow": [{ "path": "**" }]
|
|
},
|
|
"fs:allow-watch",
|
|
"fs:allow-unwatch",
|
|
"shell:allow-spawn",
|
|
"shell:allow-stdin-write",
|
|
"shell:allow-kill"
|
|
]
|
|
}
|