Skip to content
docsv0.2.0

ToolAuditLogger

Audit logger for tool calls. Logs all tool executions for security and debugging.

ToolAuditLogger::__construct()

public function __construct(Psr\Log\LoggerInterface $logger):

Parameters

Parameters of __construct()
NameTypeDescription
$loggerPsr\Log\LoggerInterface

ToolAuditLogger::log()

public function log(Milpa\ToolRuntime\Contracts\ToolContext $ctx, string $tool, array $args, bool $ok, ?string $errorCode, int $took_ms, ?int $outputSize = null): void

Log a tool call.

Parameters

Parameters of log()
NameTypeDescription
$ctxMilpa\ToolRuntime\Contracts\ToolContext
$toolstring
$argsarray<string, mixed>
$okbool
$errorCode?string
$took_msint
$outputSize?int

ToolAuditLogger::logAuthFailure()

public function logAuthFailure(Milpa\ToolRuntime\Contracts\ToolContext $ctx, string $tool, string $reason): void

Log an authorization failure.

Parameters

Parameters of logAuthFailure()
NameTypeDescription
$ctxMilpa\ToolRuntime\Contracts\ToolContext
$toolstring
$reasonstring

ToolAuditLogger::logValidationFailure()

public function logValidationFailure(Milpa\ToolRuntime\Contracts\ToolContext $ctx, string $tool, array $errors): void

Log a validation failure.

Parameters

Parameters of logValidationFailure()
NameTypeDescription
$ctxMilpa\ToolRuntime\Contracts\ToolContext
$toolstring
$errorslist<string>

ToolAuditLogger::addSensitiveField()

public function addSensitiveField(string $field): void

Add a sensitive field to sanitize.

Parameters

Parameters of addSensitiveField()
NameTypeDescription
$fieldstring

ToolAuditLogger::logTimeout()

public function logTimeout(Milpa\ToolRuntime\Contracts\ToolContext $ctx, string $toolName, float $executionTime, int $timeoutLimit): void

Log a timeout exceeded warning. Called when a tool execution exceeds its configured timeout. This is a "soft" timeout - the result is still returned.

Parameters

Parameters of logTimeout()
NameTypeDescription
$ctxMilpa\ToolRuntime\Contracts\ToolContext
$toolNamestring
$executionTimefloat
$timeoutLimitint