<?php
require 'examples/boot.php';
require_once 'examples/_support/eventlog_readback.php';
use Cognesy\AgentCtrl\AgentCtrl;
use Cognesy\Logging\EventLog;
use Cognesy\AgentCtrl\OpenAICodex\Domain\Enum\SandboxMode;
$logPath = ExampleEventLog::path('examples-d10-agentctrl-eventlog');
EventLog::enable($logPath);
try {
$response = AgentCtrl::codex()
->withSandbox(SandboxMode::ReadOnly)
->execute('What is the capital of France? Answer briefly.');
$entries = ExampleEventLog::read($logPath);
} finally {
EventLog::disable();
}
echo "=== AgentCtrl Result ===\n";
if (!$response->isSuccess()) {
echo "Error: Command failed with exit code {$response->exitCode}\n";
exit(1);
}
echo "Answer: " . $response->text() . "\n";
if ($response->sessionId()) {
echo "Thread ID: {$response->sessionId()}\n";
}
if ($response->usage()) {
echo "Tokens: {$response->usage()->input} in / {$response->usage()->output} out\n";
}
echo "\n=== EventLog Entries ===\n";
echo "Log file: {$logPath}\n";
echo 'Entries captured: ' . count($entries) . "\n\n";
ExampleEventLog::print($entries, 10);
assert($response->isSuccess());
assert($response->text() !== '');
assert($entries !== []);
?>