Agentic.Protocol.ACP.Quirks
(agentic v0.2.2)
Copy Markdown
Agent-specific quirks and workarounds for ACP implementations.
Different ACP agents have non-standard behaviors that need special handling. This module centralizes those quirks so the generic ACP client can work correctly with all agents without per-agent modules.
Derived from https://github.com/openclaw/acpx/blob/main/src/acp/agent-command.ts
Known Quirks
| Agent | Quirk |
|---|---|
| Gemini | Version detection; < 0.33.0 needs --experimental-acp |
| Claude | 60s session creation timeout |
| Copilot | Pre-flight --help check for ACP support |
| Qoder | Extra args --max-turns, --allowed-tools |
| Droid | Different subcommand structure |
| Gemini | 15s startup timeout |
Summary
Functions
Get agent-specific grace period after stdin close before SIGTERM.
Filter non-JSON stdout lines for agents that produce them.
Infer tool kind from tool title when agent doesn't provide one.
Mutate command args for agent-specific requirements.
Check if agent needs pre-flight validation.
Run pre-flight validation for agents that need it.
Get agent-specific timeout for session creation.
Check if stdout lines from this agent should be filtered.
Get agent-specific timeout for startup.
Functions
@spec close_grace_ms(String.t(), [String.t()]) :: non_neg_integer()
Get agent-specific grace period after stdin close before SIGTERM.
Filter non-JSON stdout lines for agents that produce them.
Infer tool kind from tool title when agent doesn't provide one.
Mutate command args for agent-specific requirements.
Check if agent needs pre-flight validation.
Run pre-flight validation for agents that need it.
@spec session_create_timeout(String.t(), [String.t()]) :: non_neg_integer()
Get agent-specific timeout for session creation.
Check if stdout lines from this agent should be filtered.
@spec startup_timeout(String.t(), [String.t()]) :: non_neg_integer()
Get agent-specific timeout for startup.