cognesy / agent-ctrl
Unified CLI bridge for code agents (Claude Code, OpenAI Codex, OpenCode)
v2.10.1
2026-09-13 07:11 UTC
Requires
- php: ^8.3
- cognesy/instructor-config: ^2.10
- cognesy/instructor-events: ^2.10
- cognesy/instructor-sandbox: ^2.10
- cognesy/instructor-telemetry: ^2.10
- cognesy/instructor-utils: ^2.10
- cognesy/logging: ^2.3
Requires (Dev)
- pestphp/pest: ^4.0
- phpstan/phpstan: ^1.11
- roave/security-advisories: dev-latest
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- v2.10.1
- v2.10.0
- v2.9.5
- v2.9.4
- v2.9.3
- v2.9.2
- v2.9.1
- v2.9.0
- v2.8.5
- v2.8.4
- v2.8.3
- v2.8.2
- v2.8.1
- v2.8.0
- v2.7.1
- v2.7.0
- v2.6.2
- v2.6.1
- v2.6.0
- v2.5.2
- v2.5.1
- v2.5.0
- v2.4.1
- v2.3.1
- v2.3.0
- v2.2.0
- v2.1.0
- v2.0.0
- v1.22.0
- v1.21.0
- v1.20.0
- v1.19.0
- v1.18.4
- v1.18.3
- v1.18.2
- v1.18.1
- v1.18.0
- v1.17.0
- v1.16.0
- v1.15.0
This package is auto-updated.
Last update: 2026-09-13 07:36:54 UTC
README
Unified CLI bridge for code agents (Claude Code, OpenAI Codex, OpenCode) with one API and a normalized response type.
use Cognesy\AgentCtrl\AgentCtrl; use Cognesy\AgentCtrl\Config\AgentCtrlConfig; $response = AgentCtrl::codex() ->withConfig(new AgentCtrlConfig( timeout: 300, workingDirectory: getcwd() ?: null, )) ->execute('Summarize this repository.'); echo $response->text();
Execution Identity
Each execute() or executeStreaming() call gets its own internal executionId().
That id is the canonical correlation key for agent-ctrl events and telemetry.
sessionId() is different:
executionId()is per runsessionId()is provider continuity metadata used forcontinueSession()andresumeSession()
That means multiple runs may share one sessionId() while still having different executionId() values.
$response = AgentCtrl::codex()->execute('Create a plan.'); echo (string) $response->executionId(); // one run echo (string) ($response->sessionId() ?? ''); // provider session, if available