{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Protokoll\/ProtokollDTO.php",
"content": "<?php\n\nnamespace UseCases\\Protokoll;\n\nfinal class ProtokollDTO\n{\n public function __construct(\n public readonly int $id,\n public readonly string $event,\n public readonly ?string $model,\n public readonly ?string $request,\n public readonly ?string $response,\n public readonly ?string $status,\n public readonly ?int $tokensIn,\n public readonly ?int $tokensOut,\n public readonly ?float $costUsd,\n public readonly ?int $durationMs,\n public readonly ?string $sessionId,\n public readonly ?string $source,\n public readonly string $createdAt,\n public readonly ?string $requestFormatted = null,\n public readonly ?string $responseFormatted = null,\n ) {\n }\n\n public static function fromArray(array $data): self\n {\n return new self(\n id: (int) $data['id'],\n event: $data['event'] ?? '',\n model: $data['model'] ?? null,\n request: $data['request'] ?? null,\n response: $data['response'] ?? null,\n status: $data['status'] ?? null,\n tokensIn: isset($data['tokens_in']) ? (int) $data['tokens_in'] : null,\n tokensOut: isset($data['tokens_out']) ? (int) $data['tokens_out'] : null,\n costUsd: isset($data['cost_usd']) ? (float) $data['cost_usd'] : null,\n durationMs: isset($data['duration_ms']) ? (int) $data['duration_ms'] : null,\n sessionId: $data['session_id'] ?? null,\n source: $data['source'] ?? null,\n createdAt: $data['created_at'] ?? '',\n requestFormatted: $data['request_formatted'] ?? null,\n responseFormatted: $data['response_formatted'] ?? null,\n );\n }\n}\n"
}
}
{
"tool_response": {
"type": "create",
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Protokoll\/ProtokollDTO.php",
"content": "<?php\n\nnamespace UseCases\\Protokoll;\n\nfinal class ProtokollDTO\n{\n public function __construct(\n public readonly int $id,\n public readonly string $event,\n public readonly ?string $model,\n public readonly ?string $request,\n public readonly ?string $response,\n public readonly ?string $status,\n public readonly ?int $tokensIn,\n public readonly ?int $tokensOut,\n public readonly ?float $costUsd,\n public readonly ?int $durationMs,\n public readonly ?string $sessionId,\n public readonly ?string $source,\n public readonly string $createdAt,\n public readonly ?string $requestFormatted = null,\n public readonly ?string $responseFormatted = null,\n ) {\n }\n\n public static function fromArray(array $data): self\n {\n return new self(\n id: (int) $data['id'],\n event: $data['event'] ?? '',\n model: $data['model'] ?? null,\n request: $data['request'] ?? null,\n response: $data['response'] ?? null,\n status: $data['status'] ?? null,\n tokensIn: isset($data['tokens_in']) ? (int) $data['tokens_in'] : null,\n tokensOut: isset($data['tokens_out']) ? (int) $data['tokens_out'] : null,\n costUsd: isset($data['cost_usd']) ? (float) $data['cost_usd'] : null,\n durationMs: isset($data['duration_ms']) ? (int) $data['duration_ms'] : null,\n sessionId: $data['session_id'] ?? null,\n source: $data['source'] ?? null,\n createdAt: $data['created_at'] ?? '',\n requestFormatted: $data['request_formatted'] ?? null,\n responseFormatted: $data['response_formatted'] ?? null,\n );\n }\n}\n",
"structuredPatch": [],
"originalFile": null
}
}