Commit 7a12251
feat: implement comprehensive exec mode for cortex-cli (#191)
This implements a complete headless execution mode similar to Droid's exec
mode from Factory. The new exec command is designed for CI/CD pipelines,
shell scripts, and batch processing.
Key features:
- Autonomy levels (--auto): read-only, low, medium, high
- read-only: No file/tool permissions
- low: Requires approval for writes
- medium: Auto-approve safe operations
- high: Full auto-approve
- Skip permissions (--skip-permissions-unsafe): Bypass sandboxing
- Output formats (--format):
- text: Human-readable streaming output (default)
- json: Structured JSON final result
- stream-json: NDJSON event stream
- stream-jsonrpc: JSON-RPC 2.0 protocol for multi-turn
- Input formats (--input-format):
- text: Single prompt input
- stream-jsonrpc: Multi-turn JSON-RPC input via stdin
- Tool controls:
- --enabled-tools: Whitelist specific tools
- --disabled-tools: Blacklist specific tools
- Session continuation: --session-id for resuming sessions
- Execution limits:
- --timeout: Maximum execution time
- --max-turns: Maximum conversation turns
- Fail-fast behavior: Aborts on permission policy violations
- Image attachments: --image flag for visual inputs
JSON-RPC 2.0 support for multi-turn conversations:
- Submit user messages via stdin
- Receive events via stdout
- Supports cancel, status, and heartbeat operations
- Configurable heartbeat interval
This replaces the simple ExecCommand with ExecCli providing
enterprise-grade automation capabilities.
Co-authored-by: Droid Agent <droid@factory.ai>1 parent 63a00db commit 7a12251
3 files changed
Lines changed: 1242 additions & 262 deletions
0 commit comments